首页 > 解决方案 > 如何在液体 json 转换中的同一表达式中使用拆分和替换?

问题描述

输入字符串 -

{"testData":"jack%2C LLC,ville%2C LLC,Nav LLC,50 New Hope%2C LLC,"}

预期产出

{"output":"<Value>jack, LLC</Value><Value>ville, LLC</Value><Value>Nav LLC</Value><Value>50 New Hope, LLC</Value>"}

使用此转换 -

%2C 转换为值标签后转换为 , 逗号,这样它就不会与分隔符逗号发生干扰。

我试过像下面的表达式

{% 
       "output": "<Value>{{ demo | Split: ',' | Last   }}</Value>",

%}

但是需要先使用replace替换%2C, ,然后使用split字符串使用,并分隔所有可用值并使用<Value>标签。

预期输出是 -

   {"output":"<Value>jack, LLC</Value><Value>ville, LLC</Value><Value>Nav LLC</Value><Value>50 New Hope, LLC</Value>"}

标签: jsontransformazure-logic-appsdotliquid

解决方案


对于此要求,您可以使用以下液体模板:

{% assign arr = content.testData | Split: "," %}
{
    "output": "{% for item in arr  %}<value>{{item | Replace: "%2C", ","}}</value>{% endfor %}"
}

希望有帮助~


推荐阅读