Объектные трансформеры (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}