【问题标题】:How to prevent alphabetical sorting when converting from JSON to XML in Azure Logic App在 Azure Logic App 中从 JSON 转换为 XML 时如何防止按字母排序
【发布时间】:2021-10-28 23:45:08
【问题描述】:

我在 Azure Logic 应用中使用 xml() 函数将 JSON 格式的文本转换为 XML。

我的功能:

xml(json(concat('{"root":', string(variables('JsonObject')), '}')))

我的问题是对话中的 XML 文件会自动按字母顺序排序。我需要 XML 中元素的顺序与我的 JSON 文本中的顺序相同。

请注意以下示例中元素的顺序是如何排序的。

JSON 输入示例:

{
    "Employee": [
        {
            "Company": [
                {
                    "Code": "",
                    "Name": "",
                    "ActiveUntil": "2021-12-12T00:00:00",
                    "CompanyType": [
                        {
                            "Code": ""
                        }
                    ]
                }
            ]
        },
        {
            "EmailAddress": "",
            "GivenName": "",
            "MobilePhoneNumber": "",
            "EndDate": "2021-12-12T00:00:00",
            "Surname": "",
            "Updated": "2021-12-12T00:00:00"
        }
    ]
}

XML 输出:

<Employees>
<Employee>
    <Company>
        <ActiveUntil>2021-12-12T00:00:00</ActiveUntil>
        <Code></Code>
        <CompanyType>
            <Code></Code>
        </CompanyType>
        <Name></Name>
    </Company>
</Employee>
<Employee>
    <EmailAddress></EmailAddress>
    <EndDate>2021-12-12T00:00:00</EndDate>
    <GivenName></GivenName>
    <MobilePhoneNumber></MobilePhoneNumber>
    <Surname></Surname>
    <Updated>2021-12-12T00:00:00</Updated>
</Employee>

【问题讨论】:

    标签: azure-logic-apps xmlconvert


    【解决方案1】:

    您正在使用 JSON 对象(在其他地方称为字典或映射)。元素的顺序没有定义。具有不同顺序的相同键/值对的 JSON 对象是相同的。 XML转换不能改变顺序,因为一开始就没有顺序。

    如果你想要一个订单,使用一个数组。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-18
      • 1970-01-01
      • 1970-01-01
      • 2019-10-29
      • 2019-06-05
      • 1970-01-01
      • 1970-01-01
      • 2020-02-20
      相关资源
      最近更新 更多