tengo JSON Archivo como por debajo del cual tiene que ser vertida en un ArrayList:Comprobar si un objeto JSON en particular está disponible o no
{
"main1" : [
{
"child1" : valueA,
"child2" : valueB,
"child3" : valueC,
},
{
"child1" : value1,
"child3" : value3,
},
],
"main2" : "valueMain2"
}
El elemento child2
ha de comprobar si existe o no, y entonces el se toma valor Puedes ver que no aparece en la segunda matriz.
estoy usando JSON nativo (org.JSON) del código de Java es el siguiente:
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);
}
¿Cómo puedo lograr esto?
<my_json_object>
utiliza análisis de la URL nativa como llegue a la respuesta HTTP de una petición de URL encontrar aquí: http://mobisys.in/blog/2012/01/parsing-json-from-url-in-android/
No funciona como un error es el siguiente:
E/AndroidRuntime(664): Caused by: java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0
Por favor, pegue el código y el error si obtiene – UVM
¿Puede por favor pegar el código java, cómo se está convirtiendo json en objeto json? – pavi
¡Código agregado! Por favor, compruebalo y hazmelo saber. – curlyreggie