Azure Logic App - Liquid Map 中的双引号问题
Azure Logic App - Issue with double quotes in Liquid Map
我正在尝试将 JSON 从一种模式转换为另一种模式,但我在转换值中包含双引号的字符串字段时遇到问题。下面提到的是输入 JSON:
{
"inputvalue": "Test \" word"
}
我使用的液体贴图是:
{
"outputvalue": "{{content.inputvalue}}"
}
转换在 运行 逻辑应用程序时出错 -
"An error occurred while converting the transformed value to JSON. The
transformed value is not a valid JSON."
我尝试使用 Escape
过滤器,但它实际上将双引号转换为编码字符串,我将被迫将其转换回来。此外,它不仅可以转换双引号,还可以转换所有特殊字符,如逗号、单引号等
您可以在液体模板中使用 '
而不是 "
。
{
"outputvalue": '{{content.inputvalue}}'
}
逻辑应用运行后,我们将得到如下结果:
如果你不想要"
之前的\
,你可以在结果字符串中将其替换为space。
更新:
如果输入的文字包含'
,可以尝试使用下面的液体贴图:
{% assign input = content.inputvalue | Replace: '"', '\"' %}
{
"test": "{{input}}"
}
因为你输入的文字中的\"
在liquid中会转化为"
,所以我们需要使用Replace filter再次将其替换为\"
。
然后我们可以得到结果:
我正在尝试将 JSON 从一种模式转换为另一种模式,但我在转换值中包含双引号的字符串字段时遇到问题。下面提到的是输入 JSON:
{
"inputvalue": "Test \" word"
}
我使用的液体贴图是:
{
"outputvalue": "{{content.inputvalue}}"
}
转换在 运行 逻辑应用程序时出错 -
"An error occurred while converting the transformed value to JSON. The transformed value is not a valid JSON."
我尝试使用 Escape
过滤器,但它实际上将双引号转换为编码字符串,我将被迫将其转换回来。此外,它不仅可以转换双引号,还可以转换所有特殊字符,如逗号、单引号等
您可以在液体模板中使用 '
而不是 "
。
{
"outputvalue": '{{content.inputvalue}}'
}
逻辑应用运行后,我们将得到如下结果:
如果你不想要"
之前的\
,你可以在结果字符串中将其替换为space。
更新:
如果输入的文字包含'
,可以尝试使用下面的液体贴图:
{% assign input = content.inputvalue | Replace: '"', '\"' %}
{
"test": "{{input}}"
}
因为你输入的文字中的\"
在liquid中会转化为"
,所以我们需要使用Replace filter再次将其替换为\"
。
然后我们可以得到结果: