Android基础之使用Gson解析json数据 第一弹
首先介绍一下JSON数据的格式
JSON数据 | JSON对象 | 可解析成 |
---|---|---|
{……..} | JSONObject | Map或Object |
[……..] | JSONArray | List |
* 总结:当我们看到 {……..},可以认为他就是一个Map或者是一个自定义的Object,当我们看到 [……..],可以认为他就是一个List
数据 | 解析后的数据类型 |
---|---|
“code”: 0 | 数据:0 没有双引号,表示Number(int/double/float)型,后面统称为Number型 |
“message”: “0” | 数据:”0”,有双引号,表示String型 |
“data”: false | 数据:false,表示boolean型 |
“data”: {……} | 数据:{……},表示Map型 |
“data”: [……] | 数据:[……] ,表示List型 |
“data”: null | 数据:null,表示空,数据类型未知,可以认为是Object |
* 总结:json有以上6种数据类型,归类可以分为两种
* 1、基础数据类型 Number型和boolean型
* 2、对象类型:包括String,List,Map,及其它Object
分类讲解
- 无论遇到什么样的json数据,我们都是从最外层一步一步往里面分析。
1.单个JSONObject数据
{
"code": 0,
"message": "成功"
}
分析:
最外层是一个{…..},根据上面的表格,这个格式可以解析成 Map或者Object
如果解析成Map,会生成两组键值对 key = “code” value = 0 和 key = “message” value = “成功”
如果解析成Object, code和message将是两个成员变量名,类型分别为int 和 String
//解析称Map的例子
Gson gson = new Gson();
Map map = gson.fromJson(json, Map.class);
int code = (int) map.get("code");