使用 dataweave 创建 json 数组
Create json array using dataweave
如果我有xml这样....
<Root>
<Authority>Water</Authority>
<Sanctions>
<Sanction>
<SanctionCode>11</SanctionCode>
<SanctionDesc>First Sanction</SanctionDesc>
</Sanction>
<Sanction>
<SanctionCode>11</SanctionCode>
<SanctionDesc>Second Sanction</SanctionDesc>
</Sanction>
</Sanctions>
</Root>
如何使用 DataWeave 创建一个 json 仅使用 SanctionDesc 的制裁数组?
我试过了,但不对...
%dw 1.0
%output application/json
---
records: payload.Root map {
Authority: $.Authority,
sanctions: $.Sanctions.Sanction map [$.SanctionDesc]
}
我希望我的输出看起来像这样...
{
"records": [{
"Authority": "Water",
"sanctions": ["First Sanction", "Second Sanction"]
}]
}
试试这个
%dw 1.0
%output application/json
---
records: {
Authority: payload.Root.Authority,
sanctions: payload.Root.Sanctions..SanctionDesc
}
或
%dw 1.0
%output application/json
---
records: {
Authority: payload.Root.Authority,
sanctions: payload.Root.Sanctions.*Sanction map $.SanctionDesc
}
希望对您有所帮助。
理解映射运算符是从输入负载中挑选元素的关键。 Map 运算符遍历左侧的所有数组元素,我们可以从右侧选择值,示例来自 Mulesoft portal
%dw 1.0
%输出application/json
用户:["john"、"peter"、"matt"] 映射((firstName, position)-> position ++ ":" ++ upper firstName)
输出:
{
"users": [
“0:约翰”,
“1:彼得”,
“2:马特”
]
}
见下文 link:
https://docs.mulesoft.com/mule-user-guide/v/3.8/dataweave-operators#map
如果我有xml这样....
<Root>
<Authority>Water</Authority>
<Sanctions>
<Sanction>
<SanctionCode>11</SanctionCode>
<SanctionDesc>First Sanction</SanctionDesc>
</Sanction>
<Sanction>
<SanctionCode>11</SanctionCode>
<SanctionDesc>Second Sanction</SanctionDesc>
</Sanction>
</Sanctions>
</Root>
如何使用 DataWeave 创建一个 json 仅使用 SanctionDesc 的制裁数组?
我试过了,但不对...
%dw 1.0
%output application/json
---
records: payload.Root map {
Authority: $.Authority,
sanctions: $.Sanctions.Sanction map [$.SanctionDesc]
}
我希望我的输出看起来像这样...
{
"records": [{
"Authority": "Water",
"sanctions": ["First Sanction", "Second Sanction"]
}]
}
试试这个
%dw 1.0
%output application/json
---
records: {
Authority: payload.Root.Authority,
sanctions: payload.Root.Sanctions..SanctionDesc
}
或
%dw 1.0
%output application/json
---
records: {
Authority: payload.Root.Authority,
sanctions: payload.Root.Sanctions.*Sanction map $.SanctionDesc
}
希望对您有所帮助。
理解映射运算符是从输入负载中挑选元素的关键。 Map 运算符遍历左侧的所有数组元素,我们可以从右侧选择值,示例来自 Mulesoft portal
%dw 1.0
%输出application/json
用户:["john"、"peter"、"matt"] 映射((firstName, position)-> position ++ ":" ++ upper firstName)
输出: { "users": [ “0:约翰”, “1:彼得”, “2:马特” ] }
见下文 link: https://docs.mulesoft.com/mule-user-guide/v/3.8/dataweave-operators#map