/ / DelphiJson - Как да получите достъп до многоизмерния масив? - json, delphi, многоизмерни масиви

DelphiJson - Как да получите достъп до многоизмерния масив? - json, delphi, многоизмерни масиви

Аз използвам https://code.google.com/p/delphijson/ проекти за разглеждане на JSON. Работи доста добре, но не мога да получа достъп до стойността на многомерния масив.

Имам тези данни от 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":""}]}

Създавам JSONObject:

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;

Как мога да получа достъп до стойността от масив EQ? Напр. Стойности 98,1,1,3 и също вложени стойности на масивите от примерните JSON данни?

Отговори:

0 за отговор № 1

JSON няма поддръжка за многомерни масиви. Има скалари, масиви и речници.

Това, което мислите като многоизмерен масив, е масив, който съдържа елемент, който от своя страна е масив.

Така че, ако знаете как да се справяте с масиви, можете просто да приложите тези знания рекурсивно. Повторете над външния масив. И тогава за всеки елемент, който е масив, итерете над този вътрешен масив.