Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #8  
Antiguo 25-09-2015
Avatar de pnsd_89
pnsd_89 pnsd_89 is offline
Miembro
 
Registrado: mar 2007
Posts: 112
Poder: 18
pnsd_89 Va por buen camino
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
Código Delphi [-]
objResp := TlkJSONobject.Create();
  try
    // Parsear el texto completo JSON (está en un memo)
    TlkJSONbase(objResp) := TlkJSON.ParseText(Memo1.Text);
    // Obtener el contenido del primer elemento ya que el raiz está dentro de [ ]
   for i := 0 to (objResp.Count - 1) do
    begin    
       TlkJSONbase(objResp) := objResp.Child[i];
    ...
    ...
    ...

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.
Código Delphi [-]
TlkJSONbase(objResp) := objResp.Child[0];
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.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

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


La franja horaria es GMT +2. Ahora son las 08:25:32.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi