Ver Mensaje Individual
  #7  
Antiguo 28-01-2015
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.275
Reputación: 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
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:

Código Delphi [-]
var
  objResp, obj:TlkJSONobject;
  str:string;
  objResult:TlkJSONlist;
  i,j:Integer;
  b:boolean;
begin
  // Crear el objeto base
  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 [ ]
    TlkJSONbase(objResp) := objResp.Child[0];

    // Campos iniciales
    b  := objResp.Field['jsonrpc'].Value;
    i  := objResp.Field['id'].Value;
    // Obtener el objeto result
    TlkJSONBase(objResult) :=  objResp.Field['result'];
    // Lista de resultados
    for i := 0 to (objResult.Count - 1) do begin
      // Obtener un objeto de la llista
      TlkJSONBase(obj) := objResult.Child[i];
      
      // Datos de Result
      //...
      Str := obj.Field['name'].Value;
      //...
      
      // Añadirlo a la lista
      ListBox1.Items.Add(Str);
    end;
  finally
    // control de errores
  end;
end;

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.
Responder Con Cita