У меня очень странная проблема с итератором JSON. В основном я делаю это:
LStringReader := TStringReader.Create(ResponseStream.DataString);
LJsonTextReader := TJsonTextReader.Create(LStringReader);
LIterator := TJSONIterator.Create(LJsonTextReader);
LIterator.FInd('result[0].id');
Затем LIterator.ToString показывает мне содержимое записи.
При переборе файла я создаю еще один итератор для файла, загруженного на основе значения в литератор. Например:
LCastStringReader := TStringReader.Create(ResponseStream.DataString);
LCastJsonTextReader := TJsonTextReader.Create(LCastStringReader);
LCastIterator := TJSONIterator.Create(LCastJsonTextReader);
ResponseStream.Free;
x:=0;
while LCastIterator.Find('cast['+inttostr(x)+'].character') do..
Точно так же, но на этот раз я получаю "TJsonIterator" только в результате TCastIterator.ToString.
Я проверил функцию поиска, и она возвращает "true" ». Значит, есть значение.
Есть идеи, как это происходит?
Заранее спасибо, Майкл