JSON formato, en investigacion

37 views
Skip to first unread message

Adrià Bergé Aguilar

unread,
Jan 13, 2013, 5:36:32 PM1/13/13
to gdg-ba...@googlegroups.com
Buenas gente,

estoy aqui peleandome con el parseo de un json con las classes nativas de android y me da 
siempre error, no me especifica cual es, pero creo que es por el formato, el porque creo esto
es, he buscado por la red y todos los ejemplos de json que he visto son iguales, suponiendo
tener un array de objetos en el json pues seria algo asi:

{
  "employees": [
     { "firstName":"John" , "lastName":"Doe" }, 
     { "firstName":"Anna" , "lastName":"Smith" }, 
     { "firstName":"Peter" , "lastName":"Jones" }
   ]
}

pero en mi caso el servidor me da un resultado como el siguiente:

{
  [
     { "firstName":"John" , "lastName":"Doe" }, 
     { "firstName":"Anna" , "lastName":"Smith" }, 
     { "firstName":"Peter" , "lastName":"Jones" }
   ]
}

puede ser que mis dolores de cabeza sean por eso??? o es que no 
aplico bien el constructor de la clase JSONObject?? le paso al 
constructor un string con lo que devuelve el servidor.

muchas gracias

Joan Fuentes

unread,
Jan 13, 2013, 5:38:37 PM1/13/13
to gdg-ba...@googlegroups.com

No hay elemento raíz, ¿no?

--
Hazte miembro en la web del GDG ( http://goo.gl/ngNRi ), y para no perderte nada sigue al GDG Barcelona en Google+ ( http://goo.gl/f3xo4 ), Twitter ( twitter.com/GDGBarcelona ), y su blog ( http://gdgbarcelona.blogspot.com.es/ )
---
Has recibido este mensaje porque estás suscrito al grupo "GDG Barcelona" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a gdg-ba...@googlegroups.com.
 
 

Jc Miñarro

unread,
Jan 13, 2013, 5:40:05 PM1/13/13
to gdg-ba...@googlegroups.com
Para verificar JSON utiliza esta página:

Y como bien te han dicho, no hay elemento raíz.
No sé si podrías pasar eso a un JSONArray, ya que es
el contenido de un array, pero no estoy seguro.
--
Un saludo,
Jc Miñarro

-------------------------------------------------------------------------------------------
CarteleraApp - Consulta la cartelera y estrenos de los cines españoles.
CarteleraApp (AdsFree) - Consulta la cartelera y estrenos de los cines españoles.

Adrià Bergé Aguilar

unread,
Jan 13, 2013, 5:40:23 PM1/13/13
to gdg-ba...@googlegroups.com
no... sale toda la info con la separación que toca entre ellas pero la raíz no existe...


2013/1/13 Joan Fuentes <nesca...@gmail.com>

Adrià Bergé Aguilar

unread,
Jan 13, 2013, 5:41:29 PM1/13/13
to gdg-ba...@googlegroups.com
de momento se queja en el constructor y creo k es por eso! :S 
voy a mirar si es correcto el json!! :) 

gracias!!


2013/1/13 Jc Miñarro <josecarlo...@gmail.com>

Bernat

unread,
Jan 13, 2013, 5:42:46 PM1/13/13
to gdg-ba...@googlegroups.com

Has provat el Gson?

Adrià Bergé Aguilar

unread,
Jan 13, 2013, 5:43:30 PM1/13/13
to gdg-ba...@googlegroups.com
volia mirar de no incorporar mes llibreries externes


2013/1/13 Bernat <berna...@gmail.com>

Marius B.

unread,
Jan 13, 2013, 6:17:20 PM1/13/13
to gdg-ba...@googlegroups.com

Píllalo como JSONArray no como JSONObject

Francisco Maroñas

unread,
Jan 14, 2013, 2:41:54 AM1/14/13
to gdg-ba...@googlegroups.com

A pesar de no existir el elemento raíz, como bien dice el compañero,  si lo coges como un jsonarray no deberías tener problema para parsearlo,  aunque es cierto que lo apropiado sería que el elemento raíz debería estar.

Si tienes un poco de tiempo y quieres ahorrarte muchos dolores de cabeza en los parseos de json's yo te recomendaría que le echarás un vistazo a una librería llamada AQuery,  puede llegar a resultar muy útil para este tipo de tareas.

Sergi Martínez

unread,
Jan 14, 2013, 2:45:05 AM1/14/13
to gdg-ba...@googlegroups.com

Aquery parsea json?

Yo tiro de jackson normalmente.

Si acabas utilizando algun parseador tipo jackson o gson, avisa, que hay que hacer un truqui para deserializar a listas

Adrià Bergé Aguilar

unread,
Jan 14, 2013, 3:38:25 AM1/14/13
to gdg-ba...@googlegroups.com
crec que tirare de gson que m ha fet el parse a la primera, ara mirare de introduir el contingut en un ListView 

moltes gracies a tots, percert sergi de quins son aquets truquis? :p

merci


2013/1/14 Sergi Martínez <sergi.m...@gmail.com>

Sergi Martínez

unread,
Jan 14, 2013, 3:54:03 AM1/14/13
to gdg-ba...@googlegroups.com

Adrià Bergé Aguilar

unread,
Jan 14, 2013, 5:48:24 AM1/14/13
to gdg-ba...@googlegroups.com
merciiii ^^


2013/1/14 Sergi Martínez <sergi.m...@gmail.com>

Alex Cabrera

unread,
Jan 14, 2013, 5:55:40 AM1/14/13
to gdg-ba...@googlegroups.com
El que diuen els companys és correcte. La majoria de llibreries utilitzen mètodes diferents per a parsejar objectes i arrays. Si mires a la doc de la teva llibreria segur que trobes una funció específica. L'altra opció, una mica més guarra, és ficar l'array del servidor en un paràmetre d'un objecte i formatar en Json aquest objecte, així el podries parsejar dirèctament al client.

Jo personalment mai he utilitzat Gson, però és de la que millor parlen allà on preguntis. I per si tornes a dubtar sobre la validesa del Json, estic casi segur que si obres un fitxer json al chrome, et diu si és correcte i te'l mostre boniquet.

Marius B.

unread,
Jan 14, 2013, 6:01:56 AM1/14/13
to gdg-ba...@googlegroups.com
-------------------------
Me gustaría cambiar el mundo, pero no me dan el código fuente.

Sergi Martínez

unread,
Jan 14, 2013, 6:19:25 AM1/14/13
to gdg-ba...@googlegroups.com
"Jo personalment mai he utilitzat Gson, però és de la que millor parlen allà on preguntis"

Doncs jo m'estimo més Jackson, que es més potent i permet fer algunes coses força al·lucinants.


2013/1/14 Marius B. <mariu...@gmail.com>

Albert Peiró

unread,
Jan 14, 2013, 6:03:18 AM1/14/13
to gdg-ba...@googlegroups.com
Com apago aquests emails que m'arriben? Super spammy Google+!!

Thanks
Albert Peiró


Adrià Bergé Aguilar

unread,
Jan 14, 2013, 8:45:16 AM1/14/13
to gdg-ba...@googlegroups.com
merci a tots!! ja funciona be!! :) ara toca prparar unes 200 crides diferents xD

Gson va de conya pero m apunto provar Jackson i gracies Marius per les heines mirare ara de ferles servi!! 




2013/1/14 Albert Peiró <acor...@gmail.com>

Marius B.

unread,
Jan 14, 2013, 8:46:21 AM1/14/13
to gdg-ba...@googlegroups.com
O bien silenciando cada hilo de conversación o si no (opción recomendada), 
rueda de ajustes en gmail->configuración->filtros->nuevo filtro-> en el campo "para" pon gdg-ba...@googlegroups.com ->next->omitir recibidos + aplicar etiqueta 
de esta manera solamente ves los mails del grupo si vas a esa carpeta aunque si activas el modo de bandeja múltiple en gmail lo puedes tener visible en un trozo aparte de la pantalla pero no molestarán al llegar nuevos mails
Reply all
Reply to author
Forward
0 new messages