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再次将其替换为\"

然后我们可以得到结果: