Пошагово формируем структуру JSON и проверяем её обратным чтением. Показываем, почему имя свойства и значение записываются отдельно.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Все исходные JSON-строки и значения заданы в коде. Файлы, токены доступа, интернет и рабочая база не нужны.
Не подставляйте в упражнения ответы реального API с персональными данными. Сначала проверяйте неизменённый учебный набор.
Запись = Новый ЗаписьJSON;
Запись.ПроверятьСтруктуру = Истина;
Запись.УстановитьСтроку();
Запись.ЗаписатьНачалоОбъекта();
Запись.ЗаписатьИмяСвойства("items");
Запись.ЗаписатьНачалоМассива();
Для Индекс = 1 По 2 Цикл
Запись.ЗаписатьНачалоОбъекта();
Запись.ЗаписатьИмяСвойства("name");
Запись.ЗаписатьЗначение(?(Индекс = 1, "Книга", "Ручка"));
Запись.ЗаписатьИмяСвойства("quantity");
Запись.ЗаписатьЗначение(?(Индекс = 1, 3, 1));
Запись.ЗаписатьКонецОбъекта();
КонецЦикла;
Запись.ЗаписатьКонецМассива();
Запись.ЗаписатьИмяСвойства("count");
Запись.ЗаписатьЗначение(2);
Запись.ЗаписатьКонецОбъекта();
Текст = Запись.Закрыть();
Сообщить(Текст);
Чтение = Новый ЧтениеJSON;
Чтение.УстановитьСтроку(Текст);
Попытка
Восстановлено = ПрочитатьJSON(Чтение);
Исключение
Чтение.Закрыть();
ВызватьИсключение;
КонецПопытки;
Чтение.Закрыть();
Если Восстановлено.items.Количество() <> 2 Или Восстановлено.count <> 2 Тогда
ВызватьИсключение "Нарушена учебная структура JSON";
КонецЕсли;
Сообщить(Восстановлено.items[0].name = "Книга" И Восстановлено.items[0].quantity = 3);Разбор по шагам
Начинаем корневой объект; после имени items начинаем массив, внутри которого создаём два объекта.
ЗаписатьИмяСвойства пишет ключ, ЗаписатьЗначение — значение с нужным типом и экранированием.
Каждое начало объекта или массива имеет соответствующий конец. В конце закрываем запись и получаем строку.
Читаем JSON обратно стандартным десериализатором и проверяем структуру, а не расположение пробелов.
Как проверить результат
Обратное чтение даёт items из двух элементов и числовое count=2.
Последнее сообщение Истина: первый товар Книга с числовым количеством 3.
В отдельной учебной копии пропустите ЗаписатьКонецМассива: при проверке структуры должно возникнуть исключение, а не корректный документ.
Ожидаемый результат
Получен вложенный JSON с корректными типами и проверенной структурой на фиксированном наборе.
На что обратить внимание
Не записывайте числа через Строка(Количество): это изменит JSON-тип на строку.
ПроверятьСтруктуру проверяет последовательность записи, не требования конкретного API к полям.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.