Перейти к основному содержимому

НастройкиЧтенияОбъектовJson

Стд::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 отсутствует значение. Если поведение не задано явно с помощью аннотации, то Неопределено трактуется как Ложь


ПсевдонимыСвойств

Псевдонимы для имени свойства JSON для свойств типа.

Примеры

{
"num_field": 32,
"field_bool": false
}
структура Структура
пер число: Число
пер булево: Булево
;

метод ЧтениеСтруктурыСПсевдонимамиПолей(ТекстJson: Строка)
знч Настройки = новый НастройкиЧтенияОбъектовJson()
Настройки.ИгнорироватьНеизвестныеСвойства = Ложь
Настройки.ПсевдонимыСвойств= {
Тип<Структура> : {
"число": {"field_num", "num_field"},
"булево": {"bool_field", "field_bool"}
}
}

знч Результат = СериализацияJson.ПрочитатьОбъект(ТекстJson, Тип<Структура>, Настройки)
;

Список унаследованных методов

Объект

ВСтроку, ПолучитьТип, Представление