Задать вопрос
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.
  • Вопрос задан
  • 821 просмотр
Подписаться 1 Простой Комментировать
Решения вопроса 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 их не нужно самому удалять. Они становятся его частью.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
Goodt Екатеринбург
от 100 000 до 150 000 ₽
Data World Москва
от 180 000 до 210 000 ₽
Selecty Москва
До 350 000 ₽