簡體   English   中英

Azure 邏輯應用程序 - Liquid Map 中的雙引號問題

[英]Azure Logic App - Issue with double quotes in Liquid Map

我正在嘗試將 JSON 從一種模式轉換為另一種模式,但在轉換值中包含雙引號的字符串字段時遇到問題。 下面提到的是輸入JSON:

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

我使用的液體地圖是:

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

運行邏輯應用程序時,轉換出現錯誤 -

“將轉換后的值轉換為 JSON 時出錯。轉換后的值不是有效的 JSON。”

我嘗試使用Escape過濾器,但實際上將雙引號轉換為編碼字符串,我將被迫將其轉換回來。 此外,它不僅可以轉換雙引號,還可以轉換所有特殊字符,如逗號、單引號等。

您可以在液體模板中使用'而不是"

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

運行邏輯應用后,我們將得到如下結果: 在此處輸入圖片說明

如果您不希望在"之前使用\\ ,您可以將其替換為結果字符串中的空格。

更新:

如果輸入文本包含' ,您可以嘗試使用下面的液體貼圖:

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

因為你輸入的文本中的\\"會在液體中轉換為" ,所以我們需要使用Replace過濾器將它再次替換為\\"

然后我們可以得到結果: 在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM