НастройкиЧтенияОбъектовJson
Стд::Json::НастройкиЧтенияОбъектовJson Базовые типы: Объект |
Иерархия типа
Объект, содержащий настройки чтения объектов JSON целиком.
Сравнение ссылочное
Конструкторы
НастройкиЧтенияОбъектовJson
НастройкиЧтенияОбъектовJson()
Конструктор настроек для чтения объектов JSON целиком по умолчанию.
Свойства
ИгнорироватьЛишниеЧастиДатыВремени
ИгнорироватьЛишниеЧастиДатыВремени: Булево |
Признак игнорирования лишних частей дата-времени при чтении в типы Дата и Время.
ИгнорироватьНеизвестныеСвойства
ИгнорироватьНеизвестныеСвойства: Булево |
Признак игнорирования неизвестных (лишних) полей в тексте JSON.
Может быть полезно, например, когда для обращения к REST-сервису используется JSON, и у сервиса был изменен API, добавив новое свойство. При чтении, иначе, будет выброшено ИсключениеЧтенияJson, поскольку в объявленной структуре нет нового свойства.
ИнициализироватьОтсутствующиеПоля
ИнициализироватьОтсутствующиеПоля: Булево |
Инициализировать отсутствующие поля структур явными значениями инициализации. Значение Неопределено имеет приоритет над значением инициализации.
ИнициализироватьПустыеКоллекции
ИнициализироватьПустыеКоллекции: Булево |
Инициализировать пустые коллекции полей структур, если при чтении из JSON отсутствует значение.
Примеры
структура Структура
пер число: Число
пер булево: Булево
;
метод ЧтениеСтруктурыСПсевдонимамиПолей()
знч ТекстJson = "{\"num_field\": 32, \"field_bool\": false }"
знч Настройки = новый НастройкиЧтенияОбъектовJson()
Настройки.ИгнорироватьНеизвестныеСвойства = Ложь
Настройки.ПсевдонимыСвойств= {
Тип<Структура> : {
"число": {"field_num", "num_field"},
"булево": {"bool_field", "field_bool"}
}
}
знч Результат = СериализацияJson.Прочитать(ТекстJson, Тип<Структура>, Настройки)
;
структура Структура
пер поле: Строка
пер поле2: Строка? = "Значение по умолчанию"
пер поле3: Строка? = "Значение по умолчанию"
пер поле4: Строка = "Значение по умолчанию"
пер поле5: Строка?
конструктор(поле, поле2, поле3, поле4, поле5)
;
метод ПрочитатьСтруктуруСУчетомИнициализацииОтсутствующихПолей()
пер ТекстJson =
"{
\"поле\": \"Значение из JSON\",
\"поле2\": null
}"
пер Настройки = новый НастройкиЧтенияОбъектовJson()
Настройки.ИнициализироватьОтсутствующиеПоля = Истина
// значение: {поле=Значение из JSON, поле2=undefined, поле3=undefined,
// поле4=Значение по умолчанию, поле5=undefined}
пер Результат = СериализацияJson.ПрочитатьОбъект(ТекстJson, Тип<Структура>, Настройки)
;
Кодировка
Кодировка: Строка |
Кодировка, которая будет использована при чтении из потока.
ПсевдонимыСвойств
ПсевдонимыСвойств: ЧитаемоеСоответствие<Тип, ЧитаемоеСоответствие<Строка, ЧитаемоеМножество<Строка>>> |
Псевдонимы для имени свойства JSON для свойств типа.