[英]JSON data parsing in android
我在解析JSON时遇到问题。 我有这样的字符串,
String result = "[{"id":"1","brand_name":"Unilever","brand_image":"collaboration_2.jpg","brand_description":"Unilever is the world's leading company and blah blah ","is_active":"1"},{"id":"2","brand_name":"Engro","brand_image":"people-icon-in-vector-format14.jpg","brand_description":"Engro is another brand and blah blah blah blah\r\n","is_active":"1"}]";
这是我正在尝试的代码,但得到空指针异常
String brands[] = null;
JSONArray data = new JSONArray(result);
for(int j=0; j<data.length();j++){
brands[j] = data.getJSONObject(j).getString("brand_name");
}
我不是Java专家。在我看来,您应该在使用之前初始化brands []变量。
在调用方法之前,还要检查变量数据是否为null和data.getJSONObject(j)。
我建议研究一下GSON。 这确实使使用JSON变得容易。 此处链接: http : //code.google.com/p/google-gson/
我曾经尝试解析Web服务返回的JSON字符串。 这是我所做的:
我从Web服务获得的响应是:
{ “checkrecord”:[{ “rollno”: “ABC2”, “百分比”:40, “出席”:12, “遗漏”:34}], “表1”:[]}
为了解析,我做了以下工作:
JSONObject jsonobject = new JSONObject(result);
JSONArray array = jsonobject.getJSONArray("checkrecord");
int max = array.length();
for (int j = 0; j < max; j++)
{
JSONObject obj = array.getJSONObject(j);
JSONArray names = obj.names();
for (int k = 0; k < names.length(); k++)
{
String name = names.getString(k);
String value= obj.getString(name);
}
}
我的JSONObject看起来像这样:
{ “表1”:[], “checkrecord”:[{ “遗漏”:34, “出席”:12, “百分比”:40 “rollno”: “ABC2”}]}
您需要根据您的代码和要求进行修改。
希望能帮助到你
干杯
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.