9

这是来自 jsonObject 的字符串

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

我想将此字符串转换为 JSONObject 以在 JSONArray 中获取此值

4

4 回答 4

16

使用这个:

import org.json.JSONArray;
// ...

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
于 2013-10-16T10:26:59.133 回答
13

使用 Google 的 JSON 库 (google-gson):

JsonParser jsonParser = new JsonParser();
JsonElement element = jsonParser.parse(your json string);
于 2013-10-16T10:27:55.510 回答
2

您可以使用GSON将 JSON 字符串解析为 Java 对象,反之亦然。

于 2013-10-16T10:24:03.510 回答
2

我想你的输入字符串是str,

 String str = {"xyz":[{"name":"apple","email_id":"apple@apple.com"}]}

 JSONObject json = JSONObject.fromObject(str);

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

代替 xyz,您可以传递根字符串输入。

这应该有效。

于 2013-10-16T10:46:40.337 回答