Json解析
- 概念:輕量級的數(shù)據(jù)交換格式
- 特點:
- 本質是具有特定格式的字符串
- JSON完全獨立與編程語言
- JSON比XML數(shù)據(jù)傳輸?shù)挠行愿吆芏唷?/li>
數(shù)據(jù)格式:
- Json對象:用大括號表示,key的數(shù)據(jù)類型時字符串,value的類型可以是數(shù)值,字符串,null,json數(shù)組,json對象。對應java中的對象。
- 格式:
{ "key1": "value1", "key2": "value2", "key3": "value3" }{ "name": "sam", "sex": "男", "age": 19 } - Json數(shù)組:用中括號表示,value的數(shù)據(jù)類型可以是數(shù)值,字符串,null,json數(shù)組,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數(shù)組轉換為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"); //獲取數(shù)據(jù),封裝到對象中,添加到集合 }
復雜Json數(shù)據(jù)解析
特殊Json數(shù)據(jù)解析
Json解析技術
-
原生解析:
- 編程相對麻煩
- 數(shù)據(jù)之間轉換
Gson框架解析:
FastJson框架解析
工具
- GsonFormat