Json 迭代液体模板中的数组对象

Json 迭代液体模板中的数组对象,json,azure,azure-logic-apps,liquid-template,Json,Azure,Azure Logic Apps,Liquid Template,我的液体模板在数组对象中迭代时出现问题。我想将一个输入json转换成另一个输出json 这是我的液体模板: {% assign clientList = Clients.value %} { "value": [ {% for client in clientList %} { "ACCOUNTNUM": "{{client.ACCOUNTNUM}}", "EMAIL": "{{cl

我的液体模板在数组对象中迭代时出现问题。我想将一个输入json转换成另一个输出json

这是我的液体模板:

{% assign clientList = Clients.value %}

{
    "value": [
        {% for client in clientList %}
            {
                "ACCOUNTNUM": "{{client.ACCOUNTNUM}}",
                "EMAIL": "{{client.EMAIL}}",
                "NAME": "{{client.NAME}}",
                "PHONE": "{{client.PHONE}}",
                "VATNUM": "{{client.VATNUM}}",
                "RECID": "{{client.RECID}}",
                "CANALID": "{{client.CANALID}}",
                "CANALDESC": "{{client.CANALDESC}}"
            }
                {% if forloop.Last == false %}
                , 
                {% endif %}
            {% endfor %}
    ]
}
这是一个输入json示例:

{
   "Clients":{
      "value":[
         {
            "@odata.etag":"",
            "ItemInternalId":"3a93f2aa-dd77-4297-88c4-13241343321",
            "ACCOUNTNUM":"01",
            "EMAIL":"info@example.es",
            "LANGUAGEID":"es",
            "NAME":"Lili S.A.",
            "PHONE":"943444666",
            "VATNUM":"A01",
            "DATAAREAID":"tr2",
            "RECID":1412,
            "DATAAREAID_x0023_2":"tr2",
            "DATAAREAID_x0023_3":"tr2",
            "CANALID":"C0010",
            "CANALDESC":"Group gg"
         },
         {
            "@odata.etag":"",
            "ItemInternalId":"3a23f2aa-dd77-4297-88c4-13241343321",
            "ACCOUNTNUM":"02",
            "EMAIL":"info@example.es",
            "LANGUAGEID":"es",
            "NAME":"Lili2 S.A.",
            "PHONE":"943444656",
            "VATNUM":"A02",
            "DATAAREAID":"tr2",
            "RECID":1412,
            "DATAAREAID_x0023_2":"tr2",
            "DATAAREAID_x0023_3":"tr2",
            "CANALID":"C0011",
            "CANALDESC":"Group2 gg"
         }
      ]
   }
}
当我启动我的Logic应用程序时,我遇到以下错误:


{“StatusCode\”:400,“ErrorCode\”:18,“Details\”:null,“Message\”:“将转换后的值转换为JSON时出错。转换后的值不是有效的JSON。解析值后遇到意外字符::。路径“print1”,第5行,位置11。”\”

根据一些测试,它应该是由您的液体中的以下部分引起的:

{% if forloop.Last == false %}
, 
{% endif %}
我删除了此部分,液体地图工作正常,我将液体地图张贴在下面供您参考:

{
    "value": [
        {% for client in content.Clients.value %}
            {
                "ACCOUNTNUM": "{{client.ACCOUNTNUM}}",
                "EMAIL": "{{client.EMAIL}}",
                "NAME": "{{client.NAME}}",
                "PHONE": "{{client.PHONE}}",
                "VATNUM": "{{client.VATNUM}}",
                "RECID": "{{client.RECID}}",
                "CANALID": "{{client.CANALID}}",
                "CANALDESC": "{{client.CANALDESC}}"
            }, 
        {% endfor %}
    ]
}
不要担心最后一个“,”因为“Transform JSON to JSON”操作会处理它。在“Transform JSON to JSON”操作的输出中,它不会在JSON的末尾显示额外的“,”