шаблон 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 %}
]
}