FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
#1
|
||||
|
||||
Simplificando mucho, podemos decir que en un JSON tienes elementos simples, objetos y arrays.
En un ejemplo como este: Código:
{ "menu": { "id": "file", "value": "File", "popup": { "menuitem": [ { "value": "New", "onclick": "CreateNewDoc()" }, { "value": "Open", "onclick": "OpenDoc()" }, { "value": "Close", "onclick": "CloseDoc()" } ] } } } Código:
"id": "file", Código:
"menuitem": [ { "value": "New", "onclick": "CreateNewDoc()" }, { "value": "Open", "onclick": "OpenDoc()" }, { "value": "Close", "onclick": "CloseDoc()" } ] Los objetos y los array pueden contener a su vez objetos, arrays o elementos simples.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#2
|
||||
|
||||
Como creo que te comenté antes, el texto que has colocado, es incorrecto o está incompleto (empecemos por ahí).
Si lo formateamos correctamente (http://jsonviewer.stack.hu/) obtenemos esto (he abreviado las URL's para que se vea menjor): Código:
[ { "jsonrpc": "2.0", "id": 3, "result":[ { "userId": 1986698431, "externalUserId": "100001529474550", "name": "José Pérez", "firstName": "José", "pic": "https://fbcdn-profile-a.akamaihd...6", "pic100": "https://fbcdn-profile-a.akamaihd....", "country": "US", "langCode": " es_ES", "lastSignInTime": 1421802990, "friendType": "NETWORKED", "pictureUrls": [ ] } ] ¿Realmente ese texto es el completo con el que estás trabajando?
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
|||
|
|||
El texto completo es muy largo, igual lo coloco.
Pero el JSON me da nil cuando pongo: Hago una variable llamada nombre : string y cargo el contenido de un memo en esa variable (seria el texto completo del fondo) y lo trato de cargar de la siguiente manera:
Cuando voy a debugger, JSON me sale con valor NIL- Por lo que entiendo no está cargando el strin en ParseText. Es así?? El texto esta adjunto por que me paso de los 2000 caracateres. |
#4
|
||||
|
||||
Vale.
Ya se dónde estaba el proble y porqué estaba dando error. El problema (y yo no me había fijado) es que el texto completo empieza por un [. Eso quiere decir que lo primero que hay ya es un array de elementos. Visto eso, el parseo es sencillo. este código, te extrae todos los nombres a una lista:
Con esto recorres el JSON y rellenas un ListBox con los nombres que hay en el campo "name". Un saludo.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#5
|
||||
|
||||
Que bueno El poder haber encontrado este post. Me ha sido de gran Ayuda.
Tenia el mismo Problema no sabia ni entendía la estructura JSON y mucho menos sabia como realizar la lectura de uno en Delphi. Muchisimas gracias Neftali uno de mis grandes maestros de Delphi(desde 2007 a través de este foro ). Luego de haber dicho esto quisiera presentar un problema, la lectura de mi JSON lo e podido realizar sin problema alguno, pero al igual que al archivo JSON de ejemplo adjunto por ustedes. Mi archivo también tiene un Array de objetos osea que comienza de y termina todo el archivo de esta manera []. Al codigo de facilito Neftali le he agregado un ciclo para asi poder recorrer todos mis objetos
La primera vez que hace la pasada osea cuando i = 0 la captura de los datos me hace perfectamente, pero cuando pasa por segunda vez osea que i = 1 el valor inicial b (solo que en mi caso b es string y no boolean) no captura y me dispara una misterioso y siniestro error de acces violation. Que estoy haciendo mal? Tengo que liberar el objeto objResp.................... Soy un reverendo idiota jajajaja al terminar de escribir esta pregunta me he auto respondido jajajaja Me voy a auto responder para que si alguno tiene el mismo problema lo resuelva. El código de neftali hace lo siguiente. Lo que hace que objResp se convierta en un objeto unico y pierda los datos de los demas indices del arreglo por ende cuando busca ese indice en esa variable de tipo objeto ya no la encuentra y lanza el error de memoria XD XD XD enserio me causa mucha gracia estar respondiendome yo solo por que hace ya unas cuantas horas que pierdo tratando de resolverlo y creo que escribir el problema me ayudo a pensar bien en la solucion. jajaja Saludos Lo que hare es declarar otra variable de tipo objeto para seguir manteniendo los valores en los indices de objResp. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Json de PHP a Imagen | Kubelo | Gráficos | 5 | 20-06-2014 09:05:59 |
Como deserializar array JSON desde C++ Builder? | DSK25 | C++ Builder | 1 | 17-02-2013 22:51:20 |
JSON en aplicacion Delphi | Cecil | Varios | 4 | 13-09-2012 22:31:37 |
Fecha JSON. | BuenaOnda | Varios | 4 | 27-11-2011 18:46:27 |
PROBLEMON!! (PHP+Apache de 1.x a 2.x) | papulo | PHP | 18 | 09-08-2006 16:11:45 |
|