Xml 到 Json 液体模板停止在 Azure 逻辑应用程序上工作
Xml to Json liquid template stopped working on Azure Logic Apps
在成功映射一个月后,我们的模板给出了不同的结果,但过程没有变化。
Xml片段如下:
<Authorisation>
<Application>
</Application>
<Role>Role on</Role>
<Role>Role two</Role>
</Authorisation>
和映射:
"roles":[
{% JSONArrayFor userRole in authorisation where Role-%}
{
"role":"{{userRole}}"
}
{% endJSONArrayFor -%}
]
Logic App 过去常常生成适当的 json 集合,但现在,突然间集合
是空的。
我可以看到 authorisation.Role 只生成第一个项目“Role one”
autorisation.Role.size 给出 11。
For 循环而不是 JSONArrayFor read "role one" char by char.It all 意味着映射只读取第一个角色元素 - 没有集合
问题仅针对 Xml 简单类型(仅 xml 具有字符串值的元素)。
我们用同样的方式处理复杂类型,还是可以的。
上个月 Azure LogicApps 的内部是否更改了映射过程?
似乎where Role
在液体中不起作用。我不确定它在过去是否有效,但我通常先将 xml 转换为 json 然后再将 json 转换为 json 如果我想实现此需求.我在下面提供我的解决方案供您参考:
1. 我初始化一个名为 xmlString
的变量来存储与您的 xml 数据相同的 xml。
2. 然后我初始化另一个名为 jsonString
的变量并在其值框中输入一个表达式(将 xml 转换为 json).
3.之后,通过“Parse JSON”动作解析jsonString
4.最后,使用“Transform JSON to JSON”将jsonString
转换成你想要的格式。
我的液体贴图是:
{% assign items = content.Authorisation.Role %}
{
"roles": [
{%- for item in items -%}
{
"role": "{{item}}"
},
{%- endfor -%}
]
}
5. 运行逻辑应用,得到如下图所示的结果:
这是 MS 中的错误,已修复
在成功映射一个月后,我们的模板给出了不同的结果,但过程没有变化。 Xml片段如下:
<Authorisation>
<Application>
</Application>
<Role>Role on</Role>
<Role>Role two</Role>
</Authorisation>
和映射:
"roles":[
{% JSONArrayFor userRole in authorisation where Role-%}
{
"role":"{{userRole}}"
}
{% endJSONArrayFor -%}
]
Logic App 过去常常生成适当的 json 集合,但现在,突然间集合 是空的。
我可以看到 authorisation.Role 只生成第一个项目“Role one” autorisation.Role.size 给出 11。 For 循环而不是 JSONArrayFor read "role one" char by char.It all 意味着映射只读取第一个角色元素 - 没有集合
问题仅针对 Xml 简单类型(仅 xml 具有字符串值的元素)。 我们用同样的方式处理复杂类型,还是可以的。
上个月 Azure LogicApps 的内部是否更改了映射过程?
似乎where Role
在液体中不起作用。我不确定它在过去是否有效,但我通常先将 xml 转换为 json 然后再将 json 转换为 json 如果我想实现此需求.我在下面提供我的解决方案供您参考:
1. 我初始化一个名为 xmlString
的变量来存储与您的 xml 数据相同的 xml。
2. 然后我初始化另一个名为 jsonString
的变量并在其值框中输入一个表达式(将 xml 转换为 json).
3.之后,通过“Parse JSON”动作解析jsonString
4.最后,使用“Transform JSON to JSON”将jsonString
转换成你想要的格式。
我的液体贴图是:
{% assign items = content.Authorisation.Role %}
{
"roles": [
{%- for item in items -%}
{
"role": "{{item}}"
},
{%- endfor -%}
]
}
5. 运行逻辑应用,得到如下图所示的结果:
这是 MS 中的错误,已修复