這似乎應該很簡單,但事實并非表明我沒有理解某些東西。
我有一個簡單的陣列變數,內容如下。我想過濾它,所以我只看到策略為 X 的專案,以便我可以獲得檔案元素的值。
我試過了:
filter @variables('myArray') where @equals('policy','X')@contains('policy','X')filter @variables('myArray') where @contains(@variables('myArray'),'X'
在每種情況下,陣列都會整體進入過濾器陣列動作并使其完全為空。感激地接受任何幫助。
[
{
"document": "A",
"min": 7500001,
"policy": "X"
},
{
"document": "B",
"min": 7500001,
"policy": "Y"
},
{
"document": "C",
"min": 7500001,
"policy": "Z"
}
]
uj5u.com熱心網友回復:
您可以Parse JSON在過濾陣列之前使用。考慮到您提供的示例,我們已經在我們的邏輯應用程式中對其進行了測驗,并且這是有效的。這是我的邏輯應用程式的螢屏截圖供您參考:

結果:

考慮另一個陣列樣本
[
{
"document": "A",
"min": 7500001,
"policy": "X"
},
{
"document": "B",
"min": 7500001,
"policy": "Y"
},
{
"document": "C",
"min": 7500001,
"policy": "Z"
},
{
"document": "D",
"min": 7500002,
"policy": "X"
}
]
結果:

下面是我的邏輯應用程式的代碼視圖
{
"definition": {
"$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
"actions": {
"Filter_array_2": {
"inputs": {
"from": "@body('Parse_JSON')",
"where": "@equals(item()['policy'], 'X')"
},
"runAfter": {
"Parse_JSON": [
"Succeeded"
]
},
"type": "Query"
},
"Initialize_variable": {
"inputs": {
"variables": [
{
"name": "SampleArray1",
"type": "array",
"value": [
{
"document": "A",
"min": 7500001,
"policy": "X"
},
{
"document": "B",
"min": 7500001,
"policy": "Y"
},
{
"document": "C",
"min": 7500001,
"policy": "Z"
}
]
}
]
},
"runAfter": {},
"type": "InitializeVariable"
},
"Parse_JSON": {
"inputs": {
"content": "@variables('SampleArray1')",
"schema": {
"items": {
"properties": {
"document": {
"type": "string"
},
"min": {
"type": "integer"
},
"policy": {
"type": "string"
}
},
"required": [
"document",
"min",
"policy"
],
"type": "object"
},
"type": "array"
}
},
"runAfter": {
"Initialize_variable": [
"Succeeded"
]
},
"type": "ParseJson"
}
},
"contentVersion": "1.0.0.0",
"outputs": {},
"parameters": {},
"triggers": {
"manual": {
"inputs": {
"schema": {}
},
"kind": "Http",
"type": "Request"
}
}
},
"parameters": {}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/444857.html
