1

有人可以给我解析一个 json 数组的 json

 line = "contexts": [
    {
        "uuid": "6686feaa-a254-42ec-a662-c36f70f7a586",
        "name": "School",
    },
    {
        "uuid": "bd8e6c44-d461-4bbe-8946-a3717dc7fa7f",
        "name": "Teaching",
    }]

我需要将 uuid 和名称放入字符串数组。我试过

String[] x = new String[10];
String[] y = new String[10];
JSONArray jArray = new JSONArray(line);
for(int i=0;i<jArray.length();i++){          
    JSONObject json_data = jArray.getJSONObject(i);
    x = json_data.getString("name");
y = json_data.getString("uuid");            
        }

运行此程序时出现类型不匹配错误。行的类型是我从服务器返回的字符串。

4

2 回答 2

4

用于i向数组添加元素:

String[] x = new String[10];
String[] y = new String[10];
JSONObject json=new JSONObject(line);
JSONArray jArray =json.getJSONArray("contexts");

for(int i=0;i<jArray.length();i++){          
    JSONObject json_data = jArray.getJSONObject(i);
    x[i] = json_data.getString("name");
    y[i] = json_data.getString("uuid");            
        }

您可以使用http://jsonviewer.stack.hu/来检查 json 是否有效。并使用ArrayList而不是Array从 Web 服务动态获取项目

于 2012-12-05T04:54:07.407 回答
3

它既不是 JSONObject 也不是 JSONArray,从服务器返回字符串,如下所示:

line = {"contexts": [
    {
        "uuid": "6686feaa-a254-42ec-a662-c36f70f7a586",
        "name": "School",
    },
    {
        "uuid": "bd8e6c44-d461-4bbe-8946-a3717dc7fa7f",
        "name": "Teaching",
    }]}

然后解析如下代码:

JSONObject json=new JSONObject(line);
JSONArray jArray =json.getJSONArray("contexts");
于 2012-12-05T04:53:44.280 回答