У меня есть файл JSON, как показано ниже, который нужно сбросить в ArrayList:
{
"main1" : [
{
"child1" : valueA,
"child2" : valueB,
"child3" : valueC,
},
{
"child1" : value1,
"child3" : value3,
},
],
"main2" : "valueMain2"
}
Элемент child2
имеет чтобы проверить, существует ли он или нет, а затем берется значение. Вы можете видеть, что оно не отображается во втором массиве.
Я использую Native JSON (org.JSON) Ниже приведен код Java:
ArrayList> myList = new ArrayList>();
JSONObject json = ;
JSONObject getchild2;
JSONArray jArray = .getJSONArray("main1");
for(int j = 0; j < jArray.length(), j++){
HashMap map = new HashMap();
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);
}
Как этого добиться?
использует встроенный анализ URL-адресов, поскольку я получаю ответ HTTP на запрос URL-адреса, найденный здесь: 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