2016-08-18 1 views

Antwort

1
JSONObject mainJsonObject = yourJsonObject.getJSONObject("main"); 
float pressure = mainJsonObject.getFloat("pressure"); 
float tempMin = mainJsonObject.getFloat("temp_min"); 
float tempMax = mainJsonObject.getFloat("temp_max"); 
0
String jsonString = ... //Your json string 
JSONObject jsonObject = new JSONObject(jsonString); 
JSONObject mainObject = jsonObject.getJSONObject("main"); 
double temp = mainObject.getDouble("temp"); 
//And get other fields just like the line above. 


Sie auch Gson Bibliothek verwenden können, die super einfach Parsen jsons macht.

Definieren Sie zunächst Ihr Modell nach Ihren json:

public class JSON { 
    public Main main; 
    //...  

    public static class Main { 
     public double temp; 
     public int pressure; 
     //... 
    } 
} 

dann die JSON-String analysieren Gson mit:

JSON object = new Gson().fromJson(jsonString, JSON.class); 
double temp = object.main.temp; 
0

Kopieren Sie zunächst Ihre json Modell auf die JsonUtils auf Ihre Modelle (Klassen) zu erzeugen Dann können Sie einfach Gson verwenden, um Ihren JSON zu analysieren und in Ihren Klassen zu deserialisieren.

Zum Beispiel können Sie das sehen Gson Tutorial

0

Sie benötigen Root-JSON-Objekt zu erhalten, und dann verschachteltes „main“ Objekt zu erhalten.

Es wäre besser, wenn Sie Ihre JSON-Datei bereitstellen. Aber, Baumstruktur zu haben, sollte der Code irgendwie so aussehen:

//Doing it inside try/catch block, because it may throw JSONException 
    try{ 
     //Getting root JSON object 
     JSONObject rootJSON = new JSONObject(s); 
     //Getting nested "main" object from root object 
     JSONObject mainJSON = rootJSON.getJSONObject("main"); 
     //Getting custom String from JSON object, say "temp" 
     String ourString = ourObject.getString("temp"); 
     //Then you can use it whatever way you want 
     Log.e("JSONObject", ourString); 
    //Handling JSONException 
    } catch(JSONException e) { 
     e.printStackTrace(); 
    } 
Verwandte Themen