Dataweave 脚本或函数可将无序 JSON 有效负载转换为有序 XML 有效负载?

问题描述 投票:0回答:1

我正在尝试将没有设置顺序的 JSON 有效负载转换为由 XSD 架构定义的 XML 有效负载。是否有任何 DataWeave 脚本或函数可以动态映射元素以符合该 XSD?本质上,我的 JSON 负载具有与我所拥有的 SOAP 主体相同的结构,但 JSON 请求中的元素顺序可能会乱序。

例如: JSON 输入:

{
    "ConcatenateRequest":
    {
        "string2": "World",
        "string1": "Hello"
    }
}

转换后的XML输出:

    <ConcatenateRequest>
        <string1>Hello</string1>
        <string2>World</string2>
    </ConcatenateRequest>

假设订单/模式的 string1 出现在 string2 之前

json xsd dataweave
1个回答
0
投票

这个dataweave包含两种排序方式: 一种是通过值,另一种是通过键。两者都会产生相同的输出,但这是由于所提供的数据一致。

%dw 2.0
output application/json
---
{
  "ConcatenateRequestByVlaue": payload.ConcatenateRequest orderBy ((value, key) -> value),
  "ConcatenateRequestByKey": payload.ConcatenateRequest orderBy ((value, key) -> key)
}
© www.soinside.com 2019 - 2024. All rights reserved.