Json解析
- 概念:轻量级的数据交换格式
- 特点:
- 本质是具有特定格式的字符串
- JSON完全独立与编程语言
- JSON比XML数据传输的有效性高很多。
数据格式:
- Json对象:用大括号表示,key的数据类型时字符串,value的类型可以是数值,字符串,null,json数组,json对象。对应java中的对象。
- 格式:
{ "key1": "value1", "key2": "value2", "key3": "value3" }
{ "name": "sam", "sex": "男", "age": 19 }
- Json数组:用中括号表示,value的数据类型可以是数值,字符串,null,json数组,json对象。对应java中的集合List
- 格式:
["value1", "value2", "value3"]
[{ "name": "sam", "sex": "男", "age": 19 }, { "name": "tom", "sex": "男", "age": 20 }]
- 格式:
Json解析方向:
-
将Json对象转换为Java对象
- 大括号
- JSONObject
JSONObject jsonObject = new JSONObject(json); String name = jsonObject.getString("name");
-
将Json数组转换为Java集合
- 中括号
- JSONArray
JSONArray jsonArray = new JSONArray(json2); //遍历 for (int i = 0; i <jsonArray.length() ; i++) { JSONObject jsonObject = jsonArray.getJSONObject(i); String name = jsonObject.optString("name"); //获取数据,封装到对象中,添加到集合 }
复杂Json数据解析
特殊Json数据解析
Json解析技术
-
原生解析:
- 编程相对麻烦
- 数据之间转换
Gson框架解析:
FastJson框架解析
工具
- GsonFormat