測試JSON串:
{ "package": {
"List1": {
"errorCode": "0",
"errorMsg": "Success",
"receiverTradeNum": ""
},
"List2": [
{
"medicalNum": "15XXXXXX",
"queryDate": "YYYYMMDD",
"name": "XXX",
"authorizationNum": "xxxxx",
"pageNum": "1"
}
]
}
}
目的:獲取medicalNum的值
實現:
JSONObject packageJsonObject = jsonObj.getJSONObject("package"); // 定位到package json對象
JSONArray bodyJsonArray = packageJsonObject.getJSONArray("body"); //采用getJSONArray方法, 定位到body json集合
JSONObject targetJsonObject = bodyJsonArray.getJSONObject(0); // 定位到目標json對象
final String medicalNum = targetJsonObject.getString("medicalNum"); // 就診流水號
System.out.println("----------------------"+medicalNum+"----------------------");
2021.10.23 所遇到一個問題,無法從JSONObiect的對象獲取一個Type(Type為1或者0)值,拋空指針異常
解決:選錯了get獲取的方法錯誤選擇了getJSONObject,因為所需要獲取的僅僅是一個值,應該選擇getString
1,JSONObject
指的是Json對象,就是一個鍵對應一個值,使用的是大括號{ },如:{key:value}
2,JSONArray
指的是Json數組,使用中括號[ ],只不過數組里面的項也是json鍵值對格式的
兩者特點就是,Json對象中添加的是鍵值對,JSONArray中添加的是Json對象
JSONObject Json = new JSONObject(); JSONArray JsonArray = new JSONArray(); Json.put("key", "value");//JSONObject對象中添加鍵值對 JsonArray.add(Json);//將JSONObject對象添加到Json數組中
