Dataweave преобразование разделить линейный массив JSON.
Я хочу сделать приведенное ниже преобразование, используя мул преобразования Dataweave. Входные данные представляют собой массив пар ключ-значение JSON. Мне нужно разделить то же самое.
вход
{
"order":[
{
"key":"Status",
"value":"Completed"
},
{
"key":"Source",
"value":"internet"
},
{
"key":"name",
"value":"abc def"
},
{
"key":"domain",
"value":"insurance"
}
]
}
Выход
{
"order":[
{
"key":"Status",
"value":"Completed"
},
{
"key":"Source",
"value":"internet"
}
],
"Name":[
{
"key":"name",
"value":"abc def"
},
{
"key":"domain",
"value":"insurance"
}
]
}
Кто-нибудь может помочь?
1 ответ
Решение
Вы можете сделать это путем фильтрации ввода на основе ключей
%dw 1.0
%output application/json
%var data = ["name","domain"]
---
{
order : payload.order filter not (data contains $.key),
Name : payload.order filter (data contains $.key)
}
Надеюсь это поможет.