1

我正在尝试将 JSON 从一种模式转换为另一种模式,并且在转换值中有双引号的字符串字段时遇到问题。下面提到的是输入 JSON:

{
  "inputvalue": "Test \" word"
}

我正在使用的液体地图是:

{   
    "outputvalue": "{{content.inputvalue}}"
}

运行逻辑应用程序时转换出错 -

“将转换后的值转换为 JSON 时出错。转换后的值不是有效的 JSON。”

我尝试使用Escape过滤器,但实际上将双引号转换为编码字符串,我将被迫将其转换回来。此外,它不仅可以转换双引号,还可以转换所有特殊字符,如逗号、单引号等。

4

1 回答 1

1

您可以在您的液体模板中使用'而不是。"

{   
    "outputvalue": '{{content.inputvalue}}'
}

运行逻辑应用程序后,我们将得到如下结果: 在此处输入图像描述

如果您不想要\之前的",您可以在结果字符串中用空格替换它。

更新:

如果输入文本包含',可以尝试使用下面的液体贴图:

{% assign input = content.inputvalue | Replace: '"', '\"' %}
{   
    "test": "{{input}}"
}

因为\"你输入的文字会被转换成"液体,所以我们需要使用替换过滤器来重新替换它\"

然后我们可以得到结果: 在此处输入图像描述

于 2020-03-31T06:11:25.700 回答