Foros del Web » Programación para mayores de 30 ;) » Java »

Convertir Json en Array java

Estas en el tema de Convertir Json en Array java en el foro de Java en Foros del Web. Hola me podrian ayudar con este json lo que deseo es convertirlo en Array, pero solo puedo convertir la primera parte la segunda no la ...
  #1 (permalink)  
Antiguo 24/01/2014, 19:37
Avatar de BlinDer  
Fecha de Ingreso: julio-2013
Mensajes: 52
Antigüedad: 10 años, 9 meses
Puntos: 0
Convertir Json en Array java

Hola me podrian ayudar con este json lo que deseo es convertirlo en Array, pero solo puedo convertir la primera parte la segunda no la toma en cuenta, este es mi array!

{"Fruteria":[{"Fruta":[{"Nombre":"Manzana","Cantidad":10}, {"Nombre":"Pera","Cantidad":20},{"Nombre":"Naranja ","Cantidad":30}]},{"Verdura":[{"Nombre":"Lechuga","Cantidad":80},{"Nombre":"Toma te","Cantidad":15},{"Nombre":"Pepino","Cantidad":5 0}]}]}

porfavor alguien podria ayudarme, gracias!!!
  #2 (permalink)  
Antiguo 27/01/2014, 06:34
Avatar de pablor21  
Fecha de Ingreso: noviembre-2008
Ubicación: Montevideo - Uruguay
Mensajes: 197
Antigüedad: 15 años, 5 meses
Puntos: 13
Respuesta: Convertir Json en Array java

Creo que el problema puede estar en que en la última cantidad tiene un espacio entre el 5 y el 0... quizás puedas poner el código para que podamos ayudarte mejor.
__________________
Desarrolloador Freelance - http://www.mvdit.com.uy
  #3 (permalink)  
Antiguo 27/01/2014, 10:56
Avatar de BlinDer  
Fecha de Ingreso: julio-2013
Mensajes: 52
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: Convertir Json en Array java

tengo este codigo el json es este:

{"Fruteria":[{"Fruta":[{"Nombre":"Manzana","Cantidad":10},{"Nombre":"Pera ","Cantidad":20},{"Nombre":"Naranja","Cantidad":30 }]},{"Verdura":[{"Nombre":"Lechuga","Cantidad":80},{"Nombre":"Toma te","Cantidad":15},{"Nombre":"Pepino","Cantidad":5 0}]}]}

String resulta = response.toString();
final JSONObject obj = new JSONObject(resulta);
JSONArray datos = obj.getJSONArray("Fruta");
final int ni = datos.length();
for (int i = 0; i < ni; ++i) {
final JSONObject person = datos.getJSONObject(i);
System.out.println(person.getString("message"));
System.out.println(person.getString("code"));
}

esto es el codigo pero solo funciona para la parte de fruta osea este json

[{"Fruta":[{"Nombre":"Manzana","Cantidad":10},{"Nombre":"Pera ","Cantidad":20},{"Nombre":"Naranja","Cantidad":30 }]}
lo que deseo es que pueda leer todo los campos de json osea que los separe.
  #4 (permalink)  
Antiguo 27/01/2014, 11:15
Avatar de pablor21  
Fecha de Ingreso: noviembre-2008
Ubicación: Montevideo - Uruguay
Mensajes: 197
Antigüedad: 15 años, 5 meses
Puntos: 13
Respuesta: Convertir Json en Array java

Es que el json no es válido, tienes un espacio entre el 5 y el 0 en el campo cantidad de pepino...
__________________
Desarrolloador Freelance - http://www.mvdit.com.uy
  #5 (permalink)  
Antiguo 27/01/2014, 12:03
Avatar de BlinDer  
Fecha de Ingreso: julio-2013
Mensajes: 52
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: Convertir Json en Array java

hola gracias por responder, este no es 50 pero no se porque en alguna extraña razon se pone un espacio,

{"Fruteria":[{"Fruta":[{"Nombre":"Manzana","Cantidad":10},{"Nombre":"P era ","Cantidad":20},{"Nombre":"Naranja","Cantidad ":30 }]},{"Verdura":[{"Nombre":"Lechuga","Cantidad":80},{"Nombre":"T oma te","Cantidad":15}]}]}

mejor se lo retiro pero como podria obtener estos valores en una Lista???????
  #6 (permalink)  
Antiguo 27/01/2014, 12:07
Avatar de pablor21  
Fecha de Ingreso: noviembre-2008
Ubicación: Montevideo - Uruguay
Mensajes: 197
Antigüedad: 15 años, 5 meses
Puntos: 13
Respuesta: Convertir Json en Array java

es que no puedes así como está con el JSONObject, pues el json no es válido... el json no lo produces tú? viene de otro lado?
__________________
Desarrolloador Freelance - http://www.mvdit.com.uy
  #7 (permalink)  
Antiguo 27/01/2014, 12:12
Avatar de BlinDer  
Fecha de Ingreso: julio-2013
Mensajes: 52
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: Convertir Json en Array java

tengo que producir el json, pero la forma en como lo voy a producir va ser igual a esa ya que necesito separar diferentes objetos. entoncs por ello la pregunta como puedo separar cada uno en una lista diferente tendras alguna idea???
  #8 (permalink)  
Antiguo 27/01/2014, 12:17
Avatar de BlinDer  
Fecha de Ingreso: julio-2013
Mensajes: 52
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: Convertir Json en Array java

y si no solo convertir este json en una lista,
{"Fruta":[{"Nombre":"Manzana","Cantidad":10},{"Nombre":"Pera ","Cantidad":20},{"Nombre":"Naranja","Cantidad":30 }]},{"Verdura":[{"Nombre":"Lechuga","Cantidad":80},{"Nombre":"Toma te","Cantidad":15}]}
te agradeceria mucho tu ayuda de verdad, soy nuevo en esto de json y no se mucho al respecto pero tengo una idea de como usarlo, para terminar mi proyecto de escuela!!!
  #9 (permalink)  
Antiguo 27/01/2014, 12:20
Avatar de pablor21  
Fecha de Ingreso: noviembre-2008
Ubicación: Montevideo - Uruguay
Mensajes: 197
Antigüedad: 15 años, 5 meses
Puntos: 13
Respuesta: Convertir Json en Array java

Es que deberías tener

Código Java:
Ver original
  1. JSONArray datos = obj.getJSONArray("Fruteria");

en vez de:

Código Java:
Ver original
  1. JSONArray datos = obj.getJSONArray("Fruta");

Saludos,
__________________
Desarrolloador Freelance - http://www.mvdit.com.uy
  #10 (permalink)  
Antiguo 27/01/2014, 12:23
Avatar de BlinDer  
Fecha de Ingreso: julio-2013
Mensajes: 52
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: Convertir Json en Array java

bueno y en caso de que tuviera este json de esta forma como lo podria convertir en una lista:

{"Fruta":[{"Nombre":"Manzana","Cantidad":10},{"Nombre":"P era ","Cantidad":20},{"Nombre":"Naranja","Cantidad ":30 }]},{"Verdura":[{"Nombre":"Lechuga","Cantidad":80},{"Nombre":"T oma te","Cantidad":15}]}
  #11 (permalink)  
Antiguo 27/01/2014, 12:28
Avatar de pablor21  
Fecha de Ingreso: noviembre-2008
Ubicación: Montevideo - Uruguay
Mensajes: 197
Antigüedad: 15 años, 5 meses
Puntos: 13
Respuesta: Convertir Json en Array java

En ese caso agrégale {"Fruteria": [ al principio y }] al final y listo, de lo contrario lo que tienes no es un objeto json sino 2... y no podrás convertirlo...

Es importante que sepas cuándo es válido un json y cuándo no... para validar puedes usar: http://jsonlint.com/

puedes leer un poco más de json, quizás te ayude: http://www.json.org/
__________________
Desarrolloador Freelance - http://www.mvdit.com.uy
  #12 (permalink)  
Antiguo 27/01/2014, 12:51
Avatar de BlinDer  
Fecha de Ingreso: julio-2013
Mensajes: 52
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: Convertir Json en Array java

bueno y para obtner los datos de el json de fruta y verdura como le hago se supone que seria asi???
String resulta = response.toString();
final JSONObject obj = new JSONObject(resulta);
JSONArray datos = obj.getJSONArray("Fruteria");
final int ni = datos.length();
for (int i = 0; i < ni; ++i) {
final JSONObject var= datos.getJSONObject(i);
System.out.println(var.getString("Nombre"));
System.out.println(var.getString("Cantidad"));
}

Etiquetas: json
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:35.