【发布时间】:2012-05-22 13:52:47
【问题描述】:
我有如下 JSON 文件,必须将其转储到 ArrayList 中:
{
"main1" : [
{
"child1" : valueA,
"child2" : valueB,
"child3" : valueC,
},
{
"child1" : value1,
"child3" : value3,
},
],
"main2" : "valueMain2"
}
必须检查元素child2 是否存在,然后取值。可以看到它没有出现在第二个数组中。
我正在使用本机 JSON (org.JSON) Java 代码如下:
ArrayList<HashMap<String,String>> myList = new ArrayList<HashMap<String,String>>();
JSONObject json = <my_json_object>;
JSONObject getchild2;
JSONArray jArray = <my_json_object>.getJSONArray("main1");
for(int j = 0; j < jArray.length(), j++){
HashMap<String,String> map = new HashMap<String,String>();
map.put("First Value", jArray.getJSONObject(j).getString("child1"));
map.put("Third Value", jArray.getJSONObject(j).getString("child3"));
getchild2 = jArray.getJSONObject(j).getJSONObject("child2");
if(getchild2 == null){
map.put("Second Value", "Some Dummy Value");
} else {
map.put("Second Value", jArray.getJSONObject(j).getString("child2"));
}
myList.add(map);
}
我怎样才能做到这一点?
<my_json_object> 使用本机 URL 解析,因为我在这里找到了 URL 请求的 HTTP 响应:http://mobisys.in/blog/2012/01/parsing-json-from-url-in-android/
它不起作用,因为错误如下:
E/AndroidRuntime(664): Caused by: java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0
【问题讨论】:
-
如果有任何错误,请粘贴您的代码和错误
-
你能粘贴java代码吗,你是如何将json转换为json对象的?
-
代码已添加!!请检查并告诉我。
-
错误显示在哪里?在哪一行?
-
当要检查 JSON 对象“child2”时会发生这种情况。