Записать JSON вручную по шагам

Учебные задачи

Объект записи позволяет явно задать структуру документа без промежуточной структуры 1С.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Вывод в строку, не в файл.

  2. Вложенный массив должен закрыться раньше внешнего объекта.

Запись = Новый ЗаписьJSON;
Запись.УстановитьСтроку();
Попытка
    Запись.ЗаписатьНачалоОбъекта();
    Запись.ЗаписатьИмяСвойства("title");
    Запись.ЗаписатьЗначение("Книга");
    Запись.ЗаписатьИмяСвойства("tags");
    Запись.ЗаписатьНачалоМассива();
    Запись.ЗаписатьЗначение("учебник");
    Запись.ЗаписатьЗначение("бумага");
    Запись.ЗаписатьКонецМассива();
    Запись.ЗаписатьКонецОбъекта();
Исключение
    Запись.Закрыть();
    ВызватьИсключение;
КонецПопытки;
ТекстJSON = Запись.Закрыть();
Сообщить(ТекстJSON);

Разбор по шагам

  1. Открываем объект и задаём имя title перед его значением.

  2. Для tags открываем массив и добавляем два значения.

  3. Закрываем вложенный массив, объект, затем объект записи.

Как проверить результат

  1. После чтения JSON поле title равно Книга.

  2. Массив tags содержит два элемента в заданном порядке.

Ожидаемый результат

JSON с title=Книга и tags=[учебник, бумага].

На что обратить внимание

  1. Не отключайте проверку структуры для сокрытия ошибок вложенности.

  2. Ручная запись полезна для потоковых сценариев, но обычную структуру проще сериализовать ЗаписатьJSON.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.