2016-04-01 12 views
1

JSON:den verschachtelten JSON Objektwert erhalten - Java simplejson

{ 
    "issues":[ 
     { 
      "id":"120171", 
      "fields":{ 
       "name":"Story", 
        "issuetype":{ 
         "data":"inprogress" 
        } 
      } 
     }, 
     { 
      "id":"1201", 
      "fields":{ 
       "name":"plot", 
       "issuetype":{ 
        "data":"Unknown" 
       } 
      } 
    }] 
} 

I Einfache JSON verwenden, ich versuche, ID, Namen und Daten aus dem JSON-Array (Ausgaben) zu ziehen.

JSONArray ja = (JSONArray) jsonObject.get("issues"); 
for(int i=0;i<ja.size() ; i++){ 
    JSONObject tempJsonObj = (JSONObject) ja.get(i); 
    System.out.println(tempJsonObj.get("id").toString()); 
} 

Ich bin in der Lage, den ID-Wert zu ziehen, wie die Daten von Namen und Daten in Rente gehen.

Antwort

0

Dies ist wahrscheinlich das, was Sie suchen:

public static void main(String[] args) throws Exception { 
    JSONParser parser = new JSONParser(); 
    JSONObject jsonObject = (JSONObject) parser.parse(JSON); 
    JSONArray ja = (JSONArray) jsonObject.get("issues"); 

    for(int i=0;i<ja.size() ; i++){ 
     JSONObject tempJsonObj = (JSONObject) ja.get(i); 
     System.out.println(String.format("ID: %s", tempJsonObj.get("id").toString())); 

     JSONObject fields = (JSONObject) tempJsonObj.get("fields"); 
     JSONObject issuetype = (JSONObject) fields.get("issuetype"); 

     System.out.println(String.format("Name: %s", fields.get("name").toString())); 
     System.out.println(String.format("Data: %s", issuetype.get("data").toString())); 
    } 
} 

Ausgang:

ID: 120171 
Name: Story 
Data: inprogress 
ID: 1201 
Name: plot 
Data: Unknown 
Verwandte Themen