Azure 逻辑应用程序 - Liquid Map 中的双引号问题

标签 azure azure-logic-apps dotliquid

我正在尝试将 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}}'
}

运行逻辑应用后,我们将得到如下结果: enter image description here

如果您不想在 " 之前添加 \,可以在结果字符串中将其替换为空格。

更新:

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

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

因为您输入的文本中的\"在液体中会转化为",所以我们需要使用替换过滤器将其替换为\" 再次。

然后我们可以得到结果: enter image description here

关于Azure 逻辑应用程序 - Liquid Map 中的双引号问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60944272/

相关文章:

azure - 如何在使用 Azure 逻辑应用时转发请求而不定义架构

shopify - Liquid 中的逗号分隔列表

c# - Azure 上日期解析的意外行为

Azure Function - 无法为运行时 : Python (M1 Mac incompatible architecture (have 'x86_64' , 需要 'arm64e' 启动新的语言工作线程 ))

c# - 索引方法 'Class.Method' 错误无法将参数 'log' 绑定(bind)到类型 TraceWriter

android - Twilio SMS 正文不会连接 Azure 逻辑应用程序中的 URL 参数

azure - 在 eu.luis.ai 上创建的 LUIS 应用程序未显示在我的 Azure 门户上

azure - 从 Azure 队列插入逻辑应用程序中包含 Json 的不需要的字符串

c# - 尝试在 C# 中使用 DotLiquid

c# - dotLiquid 嵌套循环不起作用