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
objResp := TlkJSONobject.Create();
try
TlkJSONbase(objResp) := TlkJSON.ParseText(Memo1.Text);
TlkJSONbase(objResp) := objResp.Child[0];
b := objResp.Field['jsonrpc'].Value;
i := objResp.Field['id'].Value;
TlkJSONBase(objResult) := objResp.Field['result'];
for i := 0 to (objResult.Count - 1) do begin
TlkJSONBase(obj) := objResult.Child[i];
Str := obj.Field['name'].Value;
ListBox1.Items.Add(Str);
end;
finally
end;
end;
Con esto recorres el JSON y rellenas un ListBox con los nombres que hay en el campo "name".
Un saludo.