Ну вот я использовал библиотеку, которая развивается и что из этого вышло?
Один и тот же код в разных версиях Дельфи (Rio и Sydney) дает разный результат
procedure TForm1.btnReadArrayClick(Sender: TObject);
const sJSon = '{"ID":[0,55,true,false], "ID2":[1,60,false,false]}';
var
Iterator: TJSONIterator;
Reader: TJsonTextReader;
TextReader: TStringReader;
begin
TextReader := TStringReader.Create(sJSon);
Reader := TJsonTextReader.Create(TextReader);
Iterator := TJSONIterator.Create(Reader);
try
while Iterator.Next do
begin
if Iterator.&Type = TJsonToken.StartArray then
if Iterator.Recurse then
while Iterator.Next do
begin
Memo1.Lines.Add('Key: ' + Iterator.Key);
Memo1.Lines.Add('Index:' + Iterator.Index.ToString);
end;
end;//while
finally
FreeAndNil(TextReader);
FreeAndNil(Iterator);
FreeAndNil(Reader);
end;
end;
Речь, о встроенной в Дельфи джейсон-библиотеке (Readers and Writers JSON Framework), которая поставляется, начиная с Seatle
вот здесь есть описание на русском https://webdelphi.ru/2019/03/rabota-s-json-v-delphi-10-3-rio-2/