2017-02-19 3 views
-3

Dies ist mein Code Parse-JSON-DatenJSON Parsing einfacher Fehler?

String finalJson = buffer.toString(); 
JSONObject jobj = new JSONObject(finalJson); 
JSONArray jaraay = jobj.getJSONArray("weather"); 
JSONObject finalobj = jaraay.getJSONObject(0); 
String temp = finalobj.getString("temp"); 

und dies kann die JSON-Daten

{ 
"coord":{ 
     "lon":-0.13, 
     "lat":51.51 
}, 
"weather":[ 
{ 
     "id":300, 
     "main":"Drizzle", 
     "description":"light intensity drizzle", 
     "icon":"09d" 
} 
], 
"base":"stations", 
"main":{ 
    "temp":280.32, 
    "pressure":1012, 
    "humidity":81, 
    "temp_min":279.15, 
    "temp_max":281.15 
     }, 

Ich möchte den Temperaturwert zuzugreifen, die innerhalb Base: Stationen: main aber bin ganz sicher, wie um den Temp-Wert mit meinem Code zu erhalten. Irgendwelche Vorschläge? Hilfe wäre sehr sein appreciated.THANKS

+0

so viele Tippfehler, tut mir leid, dass jemand liest ^^ * Ich bin nicht ganz sicher, wie man den Temp-Wert mit meinem Code * –

+1

Wie angegebene JSON-Struktur, 'Haupt' ist nicht innerhalb 'Basis'. – Sangharsh

Antwort

0

Sie Temp

String Temp Zugriff = jobj.getJSONObject ("main") getString ("temp").

0

Zunächst ist dies kein gültiger JSON. Der folgende ist ein gültiger.

{ 
    "coord": { 
     "lon": -0.13, 
     "lat": 51.51 
    }, 
    "weather": [{ 
     "id": 300, 
     "main": "Drizzle", 
     "description": "light intensity drizzle", 
     "icon": "09d" 
    }], 
    "base": "stations", 
    "main": { 
     "temp": 280.32, 
     "pressure": 1012, 
     "humidity": 81, 
     "temp_min": 279.15, 
     "temp_max": 281.15 
    } 
} 

Um Zugang Temperatur:

JSONObject MAINOBJ = jObj.getJSONObject ("main");

Zeichenfolge temp = mainObj.getString ("temp");