Mule 4:将 json 映射到 xml payload dataweave 2.0
Mule 4: map json to xml payload dataweave 2.0
我在 Mule 中有一个 json 负载,我正试图将其转换为 xml。 “entity_id”中的任何值都应该是我输出中的“payment_id”。此外,键“selected_payment_option”的任何值在我的输出中都应该是“方法”。
请在此处查看我的示例输入:
{
"items": [
{
"payment": {
"entity_id": 1485222,
"method": "m2_kp"
},
"extension_attributes": {
"payment_addition_info":[
{
"key": "m1_code",
"value": "over_time"
},
{
"key": "order_id",
"value": "4f86-2cce-4870-ad05-089a333"
},
{
"key": "selected_payment_option",
"value": "slice_by_card"
}
]
}
}
]
}
我想要的结果是
<root>
<payment>
<payment_id>1485222</payment_id>
<method>slice_by_card</method>
</payment>
</root>
如有任何帮助,我们将不胜感激。谢谢!
- 已使用
Map
,因为 items 是一个数组,因此项目中可以有多个实体。
- 如果密钥不匹配,则使用
default -> ""
selected_payment_option
DW
%dw 2.0
output application/xml
---
root:payment:payload.items map {
payment_id: $.payment.entity_id,
method: (flatten($..payment_addition_info) filter ($.key=="selected_payment_option"))[0].value default ""
}
我在 Mule 中有一个 json 负载,我正试图将其转换为 xml。 “entity_id”中的任何值都应该是我输出中的“payment_id”。此外,键“selected_payment_option”的任何值在我的输出中都应该是“方法”。
请在此处查看我的示例输入:
{
"items": [
{
"payment": {
"entity_id": 1485222,
"method": "m2_kp"
},
"extension_attributes": {
"payment_addition_info":[
{
"key": "m1_code",
"value": "over_time"
},
{
"key": "order_id",
"value": "4f86-2cce-4870-ad05-089a333"
},
{
"key": "selected_payment_option",
"value": "slice_by_card"
}
]
}
}
]
}
我想要的结果是
<root>
<payment>
<payment_id>1485222</payment_id>
<method>slice_by_card</method>
</payment>
</root>
如有任何帮助,我们将不胜感激。谢谢!
- 已使用
Map
,因为 items 是一个数组,因此项目中可以有多个实体。 - 如果密钥不匹配,则使用
default -> ""
selected_payment_option
DW
%dw 2.0
output application/xml
---
root:payment:payload.items map {
payment_id: $.payment.entity_id,
method: (flatten($..payment_addition_info) filter ($.key=="selected_payment_option"))[0].value default ""
}