Witam serdecznie,
od pewnego czasu probuje napisac dla siebie pewna aplikacje z prognoza pogody. Póki co próbuje na "samej" Javie jeszcze bez Androida.
Odpytuje webservice na Open weather. Dostaje okreslona odpowiedź. Pewne pola za zagnieżdzone jako tablica w tablicy.
Jak mogę wyciągnąć konkretną wartość pola w takim zagnieżdzeniu??
Przykład odpowiedzi:
{"cod":"200","message":0.0225,"city":{"id":"6545158","name":"Rome","coord":{"lon":12.4958,"lat":41.903},"country":"Italy","population":0},"cnt":1,"list":[{"dt":1431860400,"temp":{"day":19.62,"min":16.26,"max":19.62,"night":16.26,"eve":19.62,"morn":19.62},"pressure":1015.33,"humidity":76,"weather":[{"id":800,"main":"Clear","description":"sky is clear","icon":"01d"}],"speed":2.66,"deg":358,"clouds":0}]}
Udaje mi się wyciągnąć daną tablicę, ale nie umiem się dobrać do określonego elementu w tej odpowiedzi, np do pola min.
{"min":16.26,"max":19.62,"eve":19.62,"night":16.26,"day":19.62,"morn":19.62}
Póki co mój kod wygląda tak:
HttpClient client = new DefaultHttpClient();
HttpGet httpGet = new HttpGet("http://api.openweathermap.org/data/2.5/forecast/daily?q=Rome,IT&mode=json&units=metric&cnt=1");
HttpResponse resp = client.execute(httpGet);
ResponseHandler<String> handler = new BasicResponseHandler();
int statusCode = resp.getStatusLine().getStatusCode();
String body = handler.handleResponse(resp);
int code = resp.getStatusLine().getStatusCode();
System.out.println(statusCode);
System.out.println(body);
JSONParser jsonParser = new JSONParser();
JSONObject jsonObject = (JSONObject) jsonParser.parse(body);
JSONArray slideContent = (JSONArray) jsonObject.get("list");
Iterator i = slideContent.iterator();
while (i.hasNext()) {
JSONObject slide = (JSONObject) i.next();
System.out.println( slide.get("temp").toString());
}
Prosiłbym serdecznie o pomoc, bo nie bardzo wiem jak to ruszyc:)
Będę wdzięczny!
Pozdrawiam serdecznie,
Szefxxx.