我正在尝试将 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}}'
}
如果您不想在 "
之前添加 \
,可以在结果字符串中将其替换为空格。
更新:
如果输入文本包含'
,可以尝试使用下面的液体贴图:
{% assign input = content.inputvalue | Replace: '"', '\"' %}
{
"test": "{{input}}"
}
因为您输入的文本中的\"
在液体中会转化为"
,所以我们需要使用替换过滤器将其替换为\"
再次。
关于Azure 逻辑应用程序 - Liquid Map 中的双引号问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60944272/