Link Search Menu Expand Document

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

Стд::Json::НастройкиЧтенияОбъектовJson
Базовые типы: Объект

Иерархия типа

graph BT;
НастройкиЧтенияОбъектовJson-->Объект;

Объект, содержащий настройки чтения объектов JSON целиком.

Сравнение ссылочное


Конструкторы

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

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

Конструктор настроек для чтения объектов JSON целиком по умолчанию.


Свойства

ИгнорироватьЛишниеЧастиДатыВремени

ИгнорироватьЛишниеЧастиДатыВремени: Булево

Признак игнорирования лишних частей дата-времени при чтении в типы Дата и Время.


ИгнорироватьНеизвестныеСвойства

ИгнорироватьНеизвестныеСвойства: Булево?

Признак игнорирования неизвестных (лишних) полей в тексте JSON. Если поведение не задано явно с помощью аннотации, то Неопределено трактуется как [Ложь]

Может быть полезно, например, когда для обращения к REST-сервису используется JSON, и у сервиса был изменен API, добавив новое свойство. При чтении, иначе, будет выброшено ИсключениеЧтенияJson, поскольку в объявленной структуре нет нового свойства.


ИнициализироватьОтсутствующиеПоля

ИнициализироватьОтсутствующиеПоля: Булево?

Инициализировать отсутствующие поля структур явными значениями инициализации. По умолчанию признак не активен, если он не включен явно или с помощью аннотации. Значение Неопределено имеет приоритет над значением инициализации.

Примеры

{
  "поле": "Значение из JSON",
  "поле2": null
}
структура Структура
    пер поле: Строка
    пер поле2: Строка? = "Значение по умолчанию"
    пер поле3: Строка? = "Значение по умолчанию"
    пер поле4: Строка = "Значение по умолчанию"
    пер поле5: Строка?
;

метод ПрочитатьСтруктуруСУчетомИнициализацииОтсутствующихПолей(ТекстJson: Строка)
    пер Настройки = новый НастройкиЧтенияОбъектовJson()
    Настройки.ИнициализироватьОтсутствующиеПоля = Истина

    // значение: {поле=Значение из JSON, поле2=undefined, поле3=undefined, 
    //              поле4=Значение по умолчанию, поле5=undefined}
    пер Результат = СериализацияJson.ПрочитатьОбъект(ТекстJson, Тип<Структура>, Настройки)
;

ИнициализироватьПустыеКоллекции

ИнициализироватьПустыеКоллекции: Булево?

Инициализировать пустые коллекции полей структур, если при чтении из JSON отсутствует значение. Если поведение не задано явно с помощью аннотации, то Неопределено трактуется как [Ложь]


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

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

Примеры

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

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

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

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

Объект