Преобразование fold

Преобразование fold сворачивает одно или несколько полей данных в два свойства: key с исходным именем поля и value с его значением.

Оно помогает привести матричные и перекрёстные таблицы к стандартному формату и выполняет действие, обратное преобразованию pivot.

Создаётся новый поток, где каждый объект содержит key, value и все исходные поля соответствующего входного объекта.

Примечание: fold работает только с заранее известными полями из параметра fields. Если объекты содержат поля-массивы, может подойти преобразование flatten.

Параметры преобразования

Свойство Тип Описание
fields Field[ ] Обязательно. Массив полей данных, которые нужно свернуть.
as String[ ] Имена выходных полей для свойств key и value (по умолчанию ["key", "value"]).

Использование

{"type": "fold", "fields": ["gold", "silver"]}

Пример сворачивает поля gold и silver. Для входных данных:

[
  {"country": "USA", "gold": 10, "silver": 20},
  {"country": "Canada", "gold": 7, "silver": 26}
]

получается следующий результат:

[
  {"key": "gold", "value": 10, "country": "USA", "gold": 10, "silver": 20},
  {"key": "silver", "value": 20, "country": "USA", "gold": 10, "silver": 20},
  {"key": "gold", "value": 7, "country": "Canada", "gold": 7, "silver": 26},
  {"key": "silver", "value": 26, "country": "Canada", "gold": 7, "silver": 26}
]