2016-12-06 137 views
-1

訪問雨這是我JSON從返回openweathermap JSON數據

{ 
    "city": { 
    "id": 2961297, 
    "name": "Swords", 
    "coord": { 
     "lon": -6.21806, 
     "lat": 53.459721 
    }, 
    "country": "IE", 
    "population": 0 
    }, 
    "cod": "200", 
    "message": 0.3535, 
    "cnt": 1, 
    "list": [ 
    { 
     "dt": 1481025600, 
     "temp": { 
     "day": 284.68, 
     "min": 284.68, 
     "max": 285.36, 
     "night": 285.36, 
     "eve": 284.8, 
     "morn": 284.68 
     }, 
     "pressure": 1028.26, 
     "humidity": 95, 
     "weather": [ 
     { 
      "id": 500, 
      "main": "Rain", 
      "description": "light rain", 
      "icon": "10d" 
     } 
     ], 
     "speed": 9.01, 
     "deg": 186, 
     "clouds": 92, 
     "rain": 0.5 
    } 
    ] 
} 

我試圖訪問雨值「雨」:0.5如被看見在返回JSON數據上面我不確定究竟如何做這是因爲我沒有太多的使用JSON數據的經驗。

這是我的代碼,

JSONObject topLevel = new JSONObject(builder.toString()); 
JSONArray ListArray = topLevel.getJSONArray("list"); 
weather = String.valueOf(ListArray); 

for(int x = 0;x < ListArray.length();x++) { 

    JSONObject myObj = ListArray.getJSONObject(x); 
    myObj.getInt("rain"); 
    Log.d("TODAYS Rain"+rain,""); 
    //System.out.Print("Current Weather" +id+main+icon+dscription+rain); 
} 

任何幫助是極大的讚賞。

+0

什麼現在進入你的日誌? –

+0

這是從JSON數據返回的所有內容,但告訴雨不存在,當我試圖將它放到一個textfield我已經修復它謝謝 –

回答

2
JSONObject topLevel = new JSONObject(builder.toString()); 

JSONArray listArray = topLevel.getJSONArray("list"); 
JSONObject firstObject = (JSONObject)listArray.get(0); 
Double rain = firstObject.getDouble("rain"); 
System.out.println("TODAYs rain :" + rain); 

    } 
0
JSONObject topLevel = new JSONObject(builder.toString()); 
JSONArray ListArray = topLevel.getJSONArray("list"); 
weather = String.valueOf(ListArray); 

for(int x = 0;x < ListArray.length();x++) { 
    JSONObject myObj = ListArray.getJSONObject(x); 
    myObj.getDouble("rain"); 
    Log.d("TODAYS Rain"+rain,""); 
    //System.out.Print("Current Weather" +id+main+icon+dscription+rain); 
} 

你只需要使用myobj.getDouble(「雨」),而不是myobj.getInt(「雨」)雨不是整數。