Azure Logi c App - проблема с двойными кавычками в Liquid Map - PullRequest
0 голосов
/ 31 марта 2020

Я пытаюсь преобразовать JSON из одной схемы в другую, и у меня возникают проблемы с преобразованием строковых полей, которые имеют двойные кавычки в значении. Ниже упоминается входная информация JSON:

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

Используемая мной карта жидкости:

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

Преобразование выдает ошибку при запуске приложения logi c -

"Произошла ошибка при преобразовании преобразованного значения в JSON. Преобразованное значение недопустимо JSON."

Я пытался использовать Escape фильтр, но который на самом деле конвертирует двойные кавычки в закодированную строку, которую я буду вынужден преобразовать обратно. Кроме того, он не только преобразует двойные кавычки, но также преобразует все специальные символы, такие как запятая, одинарные кавычки и т. Д. c.

1 Ответ

0 голосов
/ 31 марта 2020

Вы можете использовать ' вместо " в жидком шаблоне.

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

После запуска приложения logi c мы получим следующий результат: enter image description here

Если вы не хотите, чтобы \ перед ", вы можете заменить его пробелом в строке результата.

Обновление:

Если входной текст содержит ', вы можете попробовать использовать приведенную ниже карту жидкостей:

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

Поскольку \" во входном тексте будет преобразовано в " в жидкости, поэтому нам нужно использовать Replace filter, чтобы заменить его на \" снова.

Тогда мы можем получить результат: enter image description here

...