Преобразование 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}
]