我在訪問JSON字符串中的數據時遇到問題。我究竟做錯了什麼?JSON字符串中的Java訪問數據
工作:
JSONObject obj = new JSONObject("JSON-STRING");
JSONArray arr = obj.getJSONArray("weather");
System.out.println(arr.getJSONObject(0).get("description"); >> clear sky
不工作:
JSONObject obj = new JSONObject("JSON-STRING");
JSONArray arr = obj.getJSONArray("main");
System.out.println(arr.getJSONObject(0).get("temp"); >> 285.15
例外:
的JSON字符串:
{
"coord": {
"lon": 6.55,
"lat": 51.27
},
"weather": [{
"id": 800,
"main": "Clear",
"description": "clear sky",
"icon": "01d"
}
],
"base": "stations",
"main": {
"temp": 285.15,
"pressure": 1034,
"humidity": 30,
"temp_min": 285.15,
"temp_max": 285.15
},
"visibility": 10000,
"wind": {
"speed": 2.6
},
"clouds": {
"all": 0
},
"dt": 1492705200,
"sys": {
"type": 1,
"id": 4909,
"message": 0.2825,
"country": "DE",
"sunrise": 1492662386,
"sunset": 1492713582
},
"id": 2808559,
"name": "Willich",
"cod": 200
}
數據'{..}'代表對象,'[..]'代表陣列。正如你看到的「main」:{...}'不包含數組,這就是爲什麼getJSONArray(「main」)引起問題的原因。 – Pshemo
投票結束爲排印錯誤。這裏沒有更多解釋。 – Pshemo
JSONObject obj = new JSONObject(JSON-STRING); \t \t JSONObject arr = obj.getJSONObject(「main」); \t \t \t \t System.out.println(arr.get(「temp」));爲我修好了。謝謝! – piguy