簡體   English   中英

基於 Power Automate 流程中的子數組過濾 JSON

[英]Filtering JSON based on sub array in a Power Automate Flow

我有一些 json 數據,我想在 Power Automate Flow 中過濾這些數據。

json的簡化版本如下:

[
  {
    "ItemId": "1",
    "Blah": "test1",
    "CustomFieldArray": [
      {
        "Name": "Code",
        "Value": "A"
      },
      {
        "Name": "Category",
        "Value": "Test"
      }
    ]
  },
  {
    "ItemId": "2",
    "Blah": "test2",
    "CustomFieldArray": [
      {
        "Name": "Code",
        "Value": "B"
      },
      {
        "Name": "Category",
        "Value": "Test"
      }
    ]
  }
]

例如,我希望根據 Name = "Code" 和 Value = "A" 過濾項目。 在這種情況下,我應該只剩下 ItemId 為 1 的項目。

我不知道如何在 Power Automate 中執行此操作。 更改數據結構會很好,但這就是數據的方式,我正在嘗試在不更改數據本身的情況下在 Power Automate 中實現這一點。

首先,我必須修復你的 JSON,它還不完整。

其次,過濾子陣列信息並不容易。 但是,要繞過這些限制,您可以使用一些技巧。

過濾陣列

在上述步驟之前,我創建了一個Array類型的變量並將其命名為Array

在上面的步驟中,左側表達式是...

string(item()?['CustomFieldArray'])

...右側的contains比較就像您所看到的那樣,是一個具有適當過濾值的字符串...

{"Name":"Code","Value":"A"}

...它不是表達式或正確的 object,只是一個字符串。

如果您需要增強它以滿足區分大小寫的值,只需使用左側的toLower表達式將所有內容設置為小寫即可。

雖然很難看到,但這會產生你想要的結果......

結果

...您可以通過垂直滾動條看到它減小了數組的大小。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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