Работа с JSON
Для работы с данными в формате JSON предназначены типы ЧтениеJson и ЗаписьJson. Они обеспечивают потоковое чтение и потоковую запись JSON.
Кроме того, вы можете автоматически преобразовывать в/из JSON многие типы встроенного языка.
Поддержка комментариев
При чтении JSON поддерживаются однострочные комментарии, введенные в версии JSON5 формата JSON.
Комментарий начинается с символов //
и заканчивается с концом строки.
Содержимое комментария при чтении JSON игнорируется, то есть результат чтения JSON не
включает содержимого комментариев и не содержит какой-либо информации о наличии
комментариев.
Сериализация в формат JSON и десериализация
«1С:Исполнитель» обеспечивает сериализацию в формат JSON и обратную операцию — десериализацию. Основным типом для выполнения этих операций является СериализацияJson. Экземпляр этого типа вы можете получить из свойства глобального контекста СериализацияJson. Методы этого типа позволяют:
- прочитать значение JSON в экземпляр типа, поддерживаемого «1С:Исполнителем» — ПрочитатьОбъект(),
- прочитать значение JSON в Соответствие — ПрочитатьСоответствие(),
- прочитать значение JSON в Массив — ПрочитатьМассив(),
- записать экземпляр типа, поддерживаемого «1С:Исполнителем», в значение JSON в поток — ЗаписатьОбъект(ПотокЗаписи, Объект, НастройкиЗаписиОбъектовJson),
- записать экземпляр типа, поддерживаемого «1С:Исполнителем», в значение JSON в строку — ЗаписатьОбъект(Объект, НастройкиЗаписиОбъектовJson): Строка,
Если в структуре описание типа какого-либо поля включает Неопределено
(например, пер Поле1: Строка?
или
пер Поле1: Строка | Неопределено
), то при чтении JSON в эту структуру методом
СериализацияJson.ПрочитатьОбъект
при отсутствии этого поля в JSON полю будет присвоено значение
Неопределено
.
Для настройки сериализации и десериализации существуют типы настроек со свойствами. Экземпляры этих типов используются в перечисленных выше методах:
- Тип НастройкиЧтенияОбъектовJson:
- Кодировка — кодировка, которая будет использована при чтении из потока;
- ПсевдонимыCвойств — псевдонимы для имени свойства JSON для конкретного свойства структуры;
- ИгнорироватьНеизвестныеСвойства — признак игнорирования неизвестных (лишних) полей в тексте JSON.
- тип НастройкиЗаписиОбъектовJson:
- ИспользуемыеИменаСвойств — устанавливает признак изменения записываемого имени свойства по аналогии с
@JsonProperty
, - ИгнорируемыеСвойства — устанавливает признак игнорирования в результирующем экземпляре JSON определенных свойств,
- ЗаписьСвойствБезОбработки — свойства, которые будут записаны без обработки («как есть»),
- РежимЗаписиТипаЗначенияJson — способ записи информации о типе значения.
- ИспользуемыеИменаСвойств — устанавливает признак изменения записываемого имени свойства по аналогии с
В типе ЧтениеJson существуют методы для чтения значения JSON в один из конкретных типов:
- ПрочитатьСодержимоеКакДата(),
- ПрочитатьСодержимоеКакВремя(),
- ПрочитатьСодержимоеКакДлительность(),
- ПрочитатьСодержимоеКакБайты().
Также в ЧтениеJson существуют свойства для определения текущей строки и текущего столбца в позиции чтения:
- ТекущаяСтрока,
- ТекущийСтолбец.