Json解析
關(guān)于Json解析的一些小知識點(diǎn):
jsonObject.getInt("id") : 根據(jù)id, 在json對象中得到對應(yīng)的Value
jsonObject.optInt("id") : 根據(jù)id, 在json對象中得到對應(yīng)的Value
注意:optXxx方法會在對應(yīng)的key中的值不存在的時候返回一個空字符串或者返回你指定的默認(rèn)值,但是getString方法會出現(xiàn)空指針異常的錯誤。
Gson解析
Gson框架技術(shù):
- 1 將Json格式的字符串{}轉(zhuǎn)換為Java對象:
fromJson(String json, Class<T> classOfT)
//解析Json數(shù)據(jù)
Gson gson = new Gson();
ShopInfo shopInfo = gson.fromJson(json,ShopInfo.class);
- 2 將json格式的字符串[]轉(zhuǎn)換為Java對象的List
fromJson(String json, Type typeOfT)
//解析Json數(shù)據(jù)
Gson gson = new Gson();
List<ShopInfo> shops = gson.fromJson(json,new TypeToken<List<ShopInfo>>(){}.getType());
- 3 將Java對象轉(zhuǎn)換為json字符串{}
String toJson(Object src)
//解析Java對象
Gson gson = new Gson();
String json = gson.toJson(shopInfo);
- 4 將Java數(shù)組轉(zhuǎn)換為json字符串{}
String toJson(Object src)
//解析Java數(shù)組
Gson gson = new Gson();
String json = gson.toJson(shops);
FastJson解析
FastJson框架技術(shù):
- 1 將json格式的字符串{}轉(zhuǎn)換為Java對象
parseObject(String json, Class<T> classOfT)
//解析數(shù)據(jù)
ShopInfo shopInfo = JSON.parseObject(json, ShopInfo.class);
- 2 將json格式的字符串[]轉(zhuǎn)換為Java對象的List
List<T> parseArray(String json,Class<T> classOfT);
// 2.解析數(shù)據(jù)
List<ShopInfo> shopInfos = JSON.parseArray(json, ShopInfo.class);
- 3 將Java對象轉(zhuǎn)換為json字符串{}
toJSONString(Object object)
// 2.解析成Json數(shù)據(jù)
String json = JSON.toJSONString(shopInfo);
- 4 將Java對象的List轉(zhuǎn)換為json字符串[]
toJSONString(Object object)
// 2.解析數(shù)據(jù)
String json = JSON.toJSONString(shops);