шаблон dotLiquid для вывода SQL Execute Query в Azure Logic Apps

Действие SQL Execute Query в Azure Logic Apps возвращает выходные данные JSON следующим образом:

      [
  [
    {
      "ProductID": 7000,
      "ProductName": "Some name"
    },
    ...
  ]
]

Какой синтаксис будет правильным для использования с dotLiquid в действии преобразования JSON в JSON приложений Azure Logic Apps для перебора этих вложенных массивов, чтобы избавиться от вложенности, например, чтобы сгенерировать что-то вроде этого:

      {
  "products": [
    {
      "productId": 7000,
      "productName": "Some name"
    },
    ...
  ]
}

2 ответа

Решение

Поскольку вы в любом случае собираетесь использовать учетную запись интеграции, это преобразование можно легко выполнить с помощью действия Execute JavaScript Code в вашем приложении логики со следующим кодом:

      var input_array = workflowContext.actions.Compose.outputs;
var output = { "products": [] };

for (let i = 0; i < input_array.length; i++) {
  for (let j = 0; j < input_array[i].length; j++) {
    output.products.push(input_array[i][j]);
  }
}

return output;

Результат:

После продолжительных проб и ошибок я пришел к следующему решению:

      {
    "products": [
        {% for product in content[0] %}
        {
            "productId": {{ product.ProductID }}
        }{% unless forloop.last %},{% endunless %}
        {% endfor %}
    ]
}
Другие вопросы по тегам