Задать вопрос
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.
  • Вопрос задан
  • 835 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    1C-программист: расширенный курс
    18 месяцев
    Далее
  • Skillbox
    Middle-разработчик игр на Unity
    3 месяца
    Далее
  • ProductStar
    Python и Django: бэкенд-разработка
    2 месяца
    Далее
Решения вопроса 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 их не нужно самому удалять. Они становятся его частью.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
ИТРУМ Ростов-на-Дону
от 75 000 ₽
СофтМоушен Санкт-Петербург
от 150 000 до 250 000 ₽
Яндекс Москва
от 180 000 до 350 000 ₽