我有这个输入
[{
"omsNo": "S001",
"recipient": [{
"name": "name1",
"address": "address1"
},
{
"name": "name2",
"address": "address2"
}
]
}]
我可以知道如何使用 dataweave 得到这个结果吗
[{"omsNo":"S001","name":"name1","address":"address1"},{"omsNo":"S001","name":"name2","address":"address2"}]
答案 0 :(得分:3)
输入
[{
"omsNo": "S001",
"recipient": [{
"name": "name1",
"address": "address1"
},
{
"name": "name2",
"address": "address2"
}
]
}]
脚本
%dw 2.0
output application/json
---
flatten(payload map ((item, index) ->
(item.recipient map ((itemRecipient, indexRecipient) -> (
({omsNo: item.omsNo} ++ itemRecipient)
))
)))
输出
[
{
"omsNo": "S001",
"name": "name1",
"address": "address1"
},
{
"omsNo": "S001",
"name": "name2",
"address": "address2"
}
]
答案 1 :(得分:0)
这是一个替代解决方案:
%dw 2.0
output application/json
---
payload.recipient[0] map (v0,k0) ->
{
omsNo:payload.omsNo[0],
name:v0.name,
address:v0.address
}