Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-09-2016
Ramsay Ramsay is offline
Miembro
NULL
 
Registrado: ene 2016
Posts: 104
Poder: 9
Ramsay Va por buen camino
Leer JSON sin nombre

Estoy estudiando este codigo :

Código Delphi [-]

var
  JSON: TlkJSONobject;
  UnObjetoJSON: TlkJSONobject;
  UnArrayJSON,
  OtroArrayJSON: TlkJSONlist;
  n, i: Integer;

begin
  JSON:=TlkJSONobject.Create;
  try
    // parseamos el JSON
    JSON:=TlkJSON.ParseText(ContenidoJSON) as TlkJSONobject;
    
    // Obtenemos los objetos JSON principales
    UnObjetoJSON:=JSON.Field['nombreObjetoJSON'] as TlkJSONobject;
    UnArrayJSON:=JSON.Field['nombreArrayJSON'] as TlkJSONlist;
    OtroArrayJSON:=JSON.Field['nombreOtroArrayJSON'] as TlkJSONlist;
    // ahora ya podemos obtener el contenido de estos 3 objetos JSON

    // ejmplo chorra de obtener un valor de un objeto "normal" JSON
    if UnObjetoJSON.Field['nombreField'].Value = 'Pepito' then 
      begin
        // ...
      end;

    // para recorrer un JSON que es un array, usamos algo asi
    for n:=0 to UnArrayJSON.Count - 1 do
      if UnArrayJSON.Child[n].Field['nombreField'].Value = 'Pepito' then
        begin
          // ...
        end;

    // si se diera el caso que un objeto JSON (sea normal o array) tiene otro(s) array(s) dentro, es tan facil como...
    for n:=0 to OtroArrayJSON.Count - 1 do
      for i:=0 to OtroArrayJSON.Child[n].Count - 1 do
        // y asi, at infinitum...
  finally
    JSON.Free;
  end;

La pregunta es como puedo leer un json que tiene arrays sin nombre , en este caso lo tiene hecho :

Código Delphi [-]
    for n:=0 to OtroArrayJSON.Count - 1 do
      for i:=0 to OtroArrayJSON.Child[n].Count - 1 do
        // y asi, at infinitum...

Pero si necesita nombres :

Código Delphi [-]
OtroArrayJSON:=JSON.Field['nombreOtroArrayJSON'] as TlkJSONlist;

Explicandome mejor , es un json que tiene varios arrays sin nombre y dentro de cada uno estan los datos ( que si tienen nombre) , yo necesito listar todos los arrays sin nombre para poder entrar a los valores importantes

Mi codigo :

Código Delphi [-]
  JS := TlkJSONobject.Create;
  JS := TlkJSON.ParseText(code) as TlkJSONobject;

  for i := 0 to JS.Count - 1 do
  begin
    if JS.FieldByIndex[i].SelfType <> jsNull then
      memo1.Add(JS.child(i).Field['datapc'].Value);
  end;

¿ Alguien me podria ayudar ?

Última edición por Ramsay fecha: 24-09-2016 a las 22:44:26.
Responder Con Cita
  #2  
Antiguo 26-09-2016
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.265
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Tal vez ayudaría que pusieras un JSON de ejemplo, que cumpla lo que estás explicando.
__________________
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.
Responder Con Cita
  #3  
Antiguo 27-09-2016
Ramsay Ramsay is offline
Miembro
NULL
 
Registrado: ene 2016
Posts: 104
Poder: 9
Ramsay Va por buen camino
ya lo solucione , en tu codigo habia otro ejemplo que era cuando se abria el json y solo eran arrays , esa era la respuesta , gracias por la ayuda Neftali.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
consulta json D1360666 Desarrollo en Delphi para Android 6 17-02-2016 16:16:25
Problemón con JSON MaxiDucoli OOP 7 25-09-2015 17:54:39
como leer los nombre de los indices BPL SQL 10 09-12-2014 23:32:14
Json de PHP a Imagen Kubelo Gráficos 5 20-06-2014 09:05:59
Fecha JSON. BuenaOnda Varios 4 27-11-2011 18:46:27


La franja horaria es GMT +2. Ahora son las 19:11:58.


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