[英]How can I merge the outputs from a For_Each loop in an Azure Logic App to a single flat array?
[英]Logic app : How to merge multiple response using each loop
我正在使用 1 個第 3 方服務,該服務一次提供 500 條記錄,但我希望在單個請求中將所有記錄放在一起。 我已經使用 Each 循環集成了那部分 這就是我的每個循環的樣子
當我嘗試使用 Array 獲取所有響應時,數據沒有結構化,Array 附加了整個 JSON,其中的響應為 object,看起來像這樣
[{
"total": 628,
"start": 0,
"count": 500,
"data": [
{
object 1
}]
},
{
"total": 628,
"start": 0,
"count": 500,
"data": [
{
object 2
}]
}]
現在我想要的是
[{
"total": 628,
"start": 0,
"count": 500,
"data": [
{
object 1
},
{
object 2
},
{
object 3
}
}]
我不知道如何在邏輯應用程序中合並這些數據,有人可以指導如何做到這一點
您沒有顯示有關流程的詳細信息,因此也許您可以參考我的以下流程。 為了模擬你的情況,我使用 http 觸發器來獲取 json 數據。 下面是我測試的json數據。 如果這不是您想要的,請隨時告訴我。
[{
"total": 628,
"start": 0,
"count": 500,
"data": [
{
"count": 0,
"lookup": "PSI"
}]
},
{
"total": 628,
"start": 0,
"count": 500,
"data": [
{
"count": 1,
"lookup": "CLEAN"
}]
}]
首先我從觸發器主體中解析出 json 數據,初始化一個數組變量來存儲格式化后的數組。
然后循環json數據,格式化數組。 如果您的所有data
屬性在數組中只有一個 object json,您可以使用 append 數組items('For_each')['data'][0]
,否則您需要另一個For each
來循環data
數組。
然后得到你想要的結果 json 值,因為你只想要一個 json object 和你的 json 值除了data
屬性之外是相同的。 因此,我使用一個compose
操作來繼承 json。我使用setProperty(body('Parse_JSON')[0],'data',variables('array'))
設置值。
這是我的測試結果,希望這是你想要的。
更新:如果我沒有誤解,你的數據數組有多個 object 並且你想要全部獲取它們,如果正確就像已經提到的那樣你需要另一個For each
動作來循環數組然后 append 全部到變量,你可以參考下面的流程。
所有其他操作相同,在存在的 For each 中添加一個For each
For each
。
這是我的測試結果。 下面是我發送給邏輯應用程序的 json 數據。
[{
"total": 628,
"start": 0,
"count": 500,
"data": [
{
"count": 0,
"lookup": "PSI"
},{
"count": 3,
"lookup": "TEST"
}]
},
{
"total": 628,
"start": 0,
"count": 500,
"data": [
{
"count": 1,
"lookup": "CLEAN"
},{
"count": 4,
"lookup": "GET"
}]
}]
Update2 :下面是我的測試 json 和結果:
[{
"total": 628,
"start": 0,
"count": 500,
"data": [
[
{ "count" : 0, "lookup": "test0" },
{ "count": 1, "lookup": "test1" }
],
[
{ "count": 2, "lookup": "test2" },
{ "count": 3, "lookup": "test3" }
]
]
},{
"total": 628,
"start": 0,
"count": 500,
"data": [
[
{ "count" : 4, "lookup": "test4" },
{ "count": 5, "lookup": "test5" }
],
[
{ "count": 6, "lookup": "test6" },
{ "count": 7, "lookup": "test7" }
]
]
}]
只需為每個動作添加一個。
更新:要發送帶有 json 數據的 http 響應,您可以使用 Response 操作來執行此操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.