Multi-value возвращает массив всех вхождений ключа на текущем уровне вложенности объекта. Потомок возвращает Массив первого вхождения ключа на каждом уровне вложенности Объекта
Если у вас есть этот ввод:
{
"id": 1,
"id": 11,
"secondLevel": {
"id": 2,
"id": 22,
"thirdLevel": {
"id": 3,
"id": 33
}
}
}
И этот скрипт:
{
"allTheId" : payload..*id, //all the ID
"descendant": payload..id, //first occurrence of "id" in each level
"multivalue": payload.*id, //all occurrence of "id" in the current level (the first level)
"multivalueSecondLevel": payload.secondLevel.*id //all occurrence of "id" in the current level (the second level)
}
Это будет генерировать этот вывод:
{
"allTheId": [
1,
11,
2,
22,
3,
33
],
"descendant": [
1,
2,
3
],
"multivalue": [
1,
11
],
"multivalueSecondLevel": [
2,
22
]
}
Подробнее в https://docs.mulesoft.com/mule-runtime/4.2/dataweave-cookbook-extract-data#descendants