将电子邮件参数发送到服务器时,响应显示为下面的字符串。
[
{
"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合作。
答案 0 :(得分: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
答案 1 :(得分:2)
删除这个额外的花括号'}'
您可以参考下面的代码了解json
[
{
"name" : "Test",
"id" : 512
}, {
"name" : "Test2",
"id" : 573
}, {
"name" : "Test3",
"id" : 585
}
]
Parse喜欢这个
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);
}
答案 2 :(得分: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");
希望有所帮助
答案 3 :(得分: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