Перейти к основному содержимому
Разделы документации
Документация›Операторы маппера›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}