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
}
ようにすればよいJsonObjectからデータをフェッチする
'{..}' '、オブジェクトを表すには、[..]'配列を表します。 '' main ":{...}'が配列以外のオブジェクトを保持しているので、 'getJSONArray(" main ")'が問題の原因です。 – Pshemo
タイプミスとして閉じる投票。これ以上説明するものはありません。 – Pshemo
JSONObject obj =新しいJSONObject(JSON-STRING); \t \t JSONObject arr = obj.getJSONObject( "main"); \t \t \t \t System.out.println(arr.get( "temp"));私のためにそれを固定した。ありがとう! – piguy