ДокументацияОператоры маппера3. Объектные трансформеры (Object)

Объектные трансформеры (Object)

Операторы для JSON-объектов. Все они неизменяемы и используют контракт whole-value; вход, не являющийся объектом, проходит насквозь без изменений.

getField

Вид: трансформер · Обработка значения: whole-value

Читает поле объекта.

Аргумент Тип Обязателен По умолчанию
field string да

Крайние случаи. Отсутствующее поле не даёт значения.

Пример. {"a":1} с field="a"1

setField

Вид: трансформер · Обработка значения: whole-value

Устанавливает поле объекта (возвращает новый объект).

Аргумент Тип Обязателен По умолчанию
field string да
value json да

Пример. {"a":1} с field="b", value=2{"a":1,"b":2}

deleteField

Вид: трансформер · Обработка значения: whole-value

Удаляет поле объекта (возвращает новый объект).

Аргумент Тип Обязателен По умолчанию
field string да

Пример. {"a":1,"b":2} с field="b"{"a":1}

keys

Вид: трансформер · Обработка значения: whole-value

Ключи объекта в виде массива.

Пример. {"a":1,"b":2}["a", "b"]

values

Вид: трансформер · Обработка значения: whole-value

Значения объекта в виде массива.

Пример. {"a":1,"b":2}[1, 2]

entries

Вид: трансформер · Обработка значения: whole-value

Записи объекта в виде пар [key, value].

Пример. {"a":1}[["a", 1]]

merge

Вид: трансформер · Обработка значения: whole-value

Поверхностно сливает другой объект поверх значения (поля другого объекта побеждают).

Аргумент Тип Обязателен По умолчанию
other json (object) да

Пример. {"a":1} с other={"b":2}{"a":1,"b":2}

deepMerge

Вид: трансформер · Обработка значения: whole-value

Рекурсивно сливает другой объект поверх значения; вложенные объекты сливаются, а листья другого объекта побеждают.

Аргумент Тип Обязателен По умолчанию
other json (object) да

Пример. {"a":{"x":1}} с other={"a":{"y":2}}{"a":{"x":1,"y":2}}

pick

Вид: трансформер · Обработка значения: whole-value

Оставляет только перечисленные поля.

Аргумент Тип Обязателен По умолчанию
fields string да

Поведение. fields — список через запятую (окружающие пробелы обрезаются).

Пример. {"a":1,"b":2,"c":3} с fields="a, c"{"a":1,"c":3}

omit

Вид: трансформер · Обработка значения: whole-value

Отбрасывает перечисленные поля.

Аргумент Тип Обязателен По умолчанию
fields string да

Пример. {"a":1,"b":2,"c":3} с fields="b"{"a":1,"c":3}

getByPath

Вид: трансформер · Обработка значения: whole-value

Читает вложенное значение по точечному пути. Поддерживаются числовые индексы вида a[0].b.

Аргумент Тип Обязателен По умолчанию
path string да

Пример. {"a":[{"b":5}]} с path="a[0].b"5

setByPath

Вид: трансформер · Обработка значения: whole-value

Устанавливает вложенное значение по точечному пути (неизменяемо; промежуточные объекты создаются по необходимости).

Аргумент Тип Обязателен По умолчанию
path string да
value json да

Пример. {"a":1} с path="b.c", value=2{"a":1,"b":{"c":2}}

flattenObject

Вид: трансформер · Обработка значения: whole-value

Уплощает вложенные объекты в ключи, соединённые точками.

Пример. {"a":{"b":1},"c":2}{"a.b":1,"c":2}