/ / DelphiJson - ¿Cómo acceder a una matriz multidimensional? - json, delphi, array multidimensional

DelphiJson - ¿Cómo acceder a la matriz multidimensional? - json, delphi, matriz multidimensional

Yo uso el https://code.google.com/p/delphijson/ proyectos para analizar JSON. Funciona bastante bien, pero no puedo acceder al valor de la matriz multidimensional.

Tengo estos datos JSON:

{"B":[{"IDS":0,"WID":1,"W":15,"D":1,"SPRITE":14,"EQ":[[98,1,1,3,3,[[9,2106],[1,1720],[4,7326]],-1,-1,0,-1,-1],[99,2,1,3,4,[[4,2204],[11,7011],[7,701]],-1,-1,5,-1,-1],[1010,3,1,3,1,[[10,221],[2,3],[11,7122]],-1,-1,0,-1,-1],[101,4,1,3,2,[[11,221],[11,724],[4,717]],-1,-1,0,-1,-1]],"GUM":[],"PIS":0,"CID":2,"N":""}]}

Creo un objeto JSON:

var
j,jj: TJSONObject;
x: Integer;
s: String;
begin
// Create a new JSON object from a JSON string
j := JSONObjectFromJSON(TFile.ReadAllText("data.txt"));
x := j.B.Count; // Get count of B
s := j.B[0].Wid; // Access WID from first B-item
end;

¿Cómo puedo acceder al valor de EQ array? P.ej. ¿Valores 98,1,1,3 y también valores de matriz anidados de los datos JSON de muestra?

Respuestas

0 para la respuesta № 1

JSON no tiene soporte para matrices multidimensionales. Cuenta con escalares, matrices y diccionarios.

Lo que usted considera una matriz multidimensional es una matriz que contiene un elemento que a su vez es una matriz.

Por lo tanto, si sabe cómo manejar matrices, simplemente puede aplicar ese conocimiento de forma recursiva. Iterar sobre la matriz exterior. Y luego, para cada elemento que sea una matriz, itere sobre esa matriz interna.