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