逻辑应用程序,如何使用 Liquid 转换 JSON 数组

Logic Apps, How to Trasform JSON array using Liquid

我有一个 JSON 数组,它是从“获取行”SQL 操作中输出的。我了解如何使用 Liquid 模板创建循环以便创建新数组,但我不清楚如何引用 Liquid 模板中 SQL 操作的输出。我怎样才能访问我的模板中的数组,即我用什么替换“SQL_OUTPUT”?

[
{% for qb_value in SQL_OUTPUT %}
{
      "6": {
        "value": "{{qb_value.First_x0020_Name}}"
      },
      "7": {
        "value": "{{qb_value.Last_x0020_Name}}"
      },
      "8": {
        "value": "{{qb_value.E_x0020_Mail}}"
    }
},
{% endfor %}
]

对于这个问题,我可以在下面提供一个示例供您参考。

1.我创建了一个sqltable,table的数据如下:

2. 使用“获取行 (V2)”操作获取 table 行。

运行 逻辑应用程序,我们可以像下面这样获取 table 的行:

{
  "@odata.context": "https://logic-apis-eastasia.azure-apim.net/apim/sql/xxxxxxxxxxx/$metadata#datasets('default%2Cdefault')/tables('%5Bdbo%5D.%5BPerson%5D')/items",
  "value": [
    {
      "@odata.etag": "",
      "ItemInternalId": "xxxxxxxxxxxxxxx",
      "name": "hury",
      "id": 4
    },
    {
      "@odata.etag": "",
      "ItemInternalId": "xxxxxxxxxxxxxxx",
      "name": "john",
      "id": 5
    }
  ]
}

请注意value字段下的数据,我们下一步需要用它来生成json schema。

3. 然后我们需要使用“Parse JSON”动作来解析我们从table 得到的值(行)。请将“Get rows(V2)”中的 value 放入“Parse JSON”的“Content”框中。

然后点击“Use sample payload to generate schema”,将value字段的数据输入到框中。点击“完成”,它会自动生成json模式。

4. 现在,添加“将 JSON 转换为 JSON”操作。从“Parse JSON”中选择 Body 并将其放入“Content”框中。 Body 指的是我的 sql 数据(行)中 value 的数据。

我的液体模板是:

[
    {% for item in content %}
        {
            "name": "{{item.name}}"
        },
    {% endfor %}
]

liquid模板中的content指的是上面的Body(也指value字段下的数据数组)

5.逻辑应用运行后,我们可以得到预期的结果。