Redfern89
@Redfern89
Пишу код под МК AVR, начинающий сисадмин

Как в Delphi XE создать JSON?

Всем доброго времени суток! Подскажите пожалуйста, как с помощью DBXJSON создать запись такого вида:

[{"foo":"bar"},{"foo":"bar"}]

Я написал простенький код, но при его выполнении вываливается "Invalid Pointer operation"
var
  JS : TJSONObject;
  JSA : TJSONArray;
  JSP : TJSONPair;

begin
  JS := TJSONObject.Create;
  JSA := TJSONArray.Create;

  JSP := TJSONPair.Create('Array', JSA);
  JS.AddPair(JSP);

  writeln(JS.ToString);

  JSP.Free;
  JS.Free;
  JSA.Free;

  readln;

end.
  • Вопрос задан
  • 718 просмотров
Решения вопроса 1
HemulGM
@HemulGM Куратор тега Delphi
Delphi Developer, сис. админ
Это у тебя массив из объектов. А значит, мы создаем массив и добавляем в него объекты. Логично? По-моему - да.
var
  JSA : TJSONArray;
  JS : TJSONObject;
begin
  JSA := TJSONArray.Create;

  JS := TJSONObject.Create;
  JS.AddPair('foo', 'bar');
  JSA.Add(JS);

  JS := TJSONObject.Create;
  JS.AddPair('foo', 'bar');
  JSA.Add(JS);

  writeln(JSA.ToString);

  JSA.Free;

  readln;
end.


Добавляя элементы в JSA их не нужно самому удалять. Они становятся его частью.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы