2013-10-16 18 views
8

Dieser String von JSONObject istString JSONObject in java

[ 
    { 
     "No": "1", 
     "Name": "ABC" 
    }, 
    { 
     "No": "2", 
     "Name": "PQR" 
    }, 
    { 
     "No": "3", 
     "Name": "XYZ" 
    } 
] 

ich JSONObject auf diese Zeichenfolge konvertieren möchten in JSONArray diesen Wert zu erhalten

+0

Welche der vielen Bibliotheken verwenden Sie? – sjngm

+0

Google kann Ihnen bessere Ergebnisse liefern. Und überraschenderweise ist in diesem Fall [Googles Gson] (http://code.google.com/p/google-gson/) für Ihre Rettung da. – SudoRahul

Antwort

13

verwenden ein:

String jsonStr = "[{\"No\":\"1\",\"Name\":\"ABC\"},{\"No\":\"2\",\"Name\":\"PQR\"},{\"No\":\"3\",\"Name\":\"XYZ\"}]"; 

    JSONArray array = new JSONArray(jsonStr); 

    for(int i=0; i<array.length(); i++){ 
     JSONObject jsonObj = array.getJSONObject(i); 
     System.out.println(jsonObj.getString("No")); 
     System.out.println(jsonObj.getString("Name")); 
    } 

Ausgang:

1 
ABC 
2 
PQR 
3 
XYZ 
2

Sie GSON verwenden können JSON-Strings in Java-Objekte zu analysieren und und umgekehrt.

11

Verwenden von Google JSON-Bibliothek (google-Gson):

JsonParser jsonParser = new JsonParser(); 
JsonElement element = jsonParser.parse(your json string); 
3

Ich nehme Ihre Eingabe string str ist,

String str = {"xyz":[{"name":"apple","email_id":"[email protected]"}]} 

JSONObject json = JSONObject.fromObject(str); 

JSONArray jarr = json.getJSONArray("xyz"); 

Anstelle von xyz können Sie die Eingabe von root-Strings übergeben.

Dies sollte funktionieren.

+2

Fügen Sie hinzu, welches Paket dieses 'JSONObject' ist, weil es nicht von' org.json.simple.JSONObject' stammt –