簡體   English   中英

邏輯應用程序:如何使用每個循環合並多個響應

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM