繁体   English   中英

Android中的JSON数据解析

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM