在 Azure Logic App 中从 JSON 转换为 XML 时如何防止按字母排序
Posted
技术标签:
【中文标题】在 Azure Logic App 中从 JSON 转换为 XML 时如何防止按字母排序【英文标题】:How to prevent alphabetical sorting when converting from JSON to XML in Azure Logic App 【发布时间】: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>
【问题讨论】:
【参考方案1】:您正在使用 JSON 对象(在其他地方称为字典或映射)。元素的顺序没有定义。具有不同顺序的相同键/值对的 JSON 对象是相同的。 XML转换不能改变顺序,因为一开始就没有顺序。
如果你想要一个订单,使用一个数组。
【讨论】:
以上是关于在 Azure Logic App 中从 JSON 转换为 XML 时如何防止按字母排序的主要内容,如果未能解决你的问题,请参考以下文章
使用变量值在 Azure Logic App 中设置 SQL 存储过程路径
Azure Logic App Standard - 从未触发服务总线触发器
Azure Logic应用和数据流-删除?和@(来自JSON(XML))
azure functions 或 azure logic app 中是不是有任何触发 Azure File Share 的触发器?