2013-10-16 67 views
8

JSONObject的这串从JSONObject的字符串在Java

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

我想转换到这个字符串的JSONObject在JSONArray

得到这个值
+0

您使用了哪个库? – sjngm

+0

谷歌可以给你更好的结果。令人惊讶的是,在这种情况下,[Google的gson](http://code.google.com/p/google-gson/)可以帮助您解决问题。 – SudoRahul

回答

13

使用这一个:

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")); 
    } 

输出:

1 
ABC 
2 
PQR 
3 
XYZ 
2

您可以使用GSON解析JSON字符串转换成Java对象和反之亦然。

11

使用谷歌的JSON库(谷歌GSON):

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

我想你输入的字符串海峡,

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

JSONObject json = JSONObject.fromObject(str); 

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

在xyz的位置上,可以传递根字符串输入。

这应该工作。

+2

添加这个'JSONObject'的包,因为它不是'org.json.simple.JSONObject' –