从JSON Array android读取数据

时间:2013-06-20 09:21:32

标签: android 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"    
}
]

我想将这个响应字符串格式读入jsonobject。我这是第一次与json合作。

4 个答案:

答案 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