-3

当向服务器发送电子邮件参数并且响应显示为下面的字符串时。

[
{
    "nid": "478",
    "field_mc_bacheliers_value": "0",
    "field_mc_defi_collectif_value": "1"
},
{
    "nid": "480",
    "field_mc_bacheliers_value": "0",
    "field_mc_defi_collectif_value": "1"    
}
]

我想将此响应字符串格式读入 jsonobject。我是第一次使用 json。

4

4 回答 4

5

考虑到删除了下面的额外花括号}

[
{
    "nid": "478",
    "field_mc_bacheliers_value": "0",
    "field_mc_defi_collectif_value": "1"
},
{
    "nid": "480",
    "field_mc_bacheliers_value": "0",
    "field_mc_defi_collectif_value": "1"
}
]

解析

  JSONArray myListsAll= new JSONArray(myjsonstring);
  for(int i=0;i<myListsAll.length();i++){
  JSONObject jsonobject= (JSONObject) myListsAll.get(i);
  String id=jsonobject.optString("nid");
  String value1=jsonobject.optString("field_mc_bacheliers_value");
  String value2=jsonobject.optString("field_mc_defi_collectif_value");  
  System.out.println("nid="+id);
  System.out.println("value1="+value1);
  System.out.println("value2="+value2); 
  }

输出

nid=478
value1=0
value2=1
nid=480
value1=0
value2=1
于 2013-06-20T09:35:45.160 回答
3

删除这个多余的花括号'}'

您可以参考下面的代码对于 json

[ 
{
  "name" : "Test",
  "id" : 512
}, {
  "name" : "Test2",
  "id" : 573
}, {
  "name" : "Test3",
  "id" : 585
}
]

像这样解析

ArrayList<String> arrProducts = new ArrayList<String>();

try {
    JSONArray valarray = new JSONArray(jsonstring);
    for (int i = 0; i < valarray.length(); i++) {

        String str = valarray.getJSONObject(i).getString("name");
        arrProducts.add(str);
    }
} catch (JSONException e) {
    Log.e("JSON", "There was an error parsing the JSON", e);
}
于 2013-06-20T09:27:18.000 回答
1

尝试这个

jString=[{"nid":"478","field_mc_bacheliers_value":"0","field_mc_defi_collectif_value":"1"},{"nid":"480","field_mc_bacheliers_value":"0","field_mc_defi_collectif_value":"1"}}]
    jObject = new JSONObject(jString);
   String id = jObject .getString("id");

希望能帮助到你

于 2013-06-20T09:29:28.473 回答
0

它不是有效的 JSON,最后有一个额外的 }。

[
  {
    "nid": "478",
    "field_mc_bacheliers_value": "0",
    "field_mc_defi_collectif_value": "1"
  },
  {
    "nid": "480",
    "field_mc_bacheliers_value": "0",
    "field_mc_defi_collectif_value": "1"
  }
} <-- this is invalid
]

你可以在这里查看:http: //jsonviewer.stack.hu/

这个问题对 JSON 解析有更多提示:How to parse JSON in Android

于 2013-06-20T09:25:58.733 回答