Azure 逻辑应用程序 - 创建仅包含一个对象的数组

Azure Logic App - Create Array with only one object

我正在从自动化帐户的 powershell 脚本中获取数据。我使用这些数据来创建报告和警报。在 90% 的情况下,它是一个 json 数组。

所以在我的逻辑应用程序中,我将解析 json 并随后过滤数组。我使用过滤后的数据根据​​过滤器中的“id”创建警报。正如我所说,在 90% 的情况下,这都非常有效。

但是,如果我只从脚本而不是数组中获取一个对象,我就会收到错误消息:

"message": "Invalid type. Expected Array but got Object."

我在 Parse Json 步骤中解决了这个问题:

"type": [
"object",
"array"

]

但是现在我的“过滤器阵列”显然不再起作用了:

BadRequest. The 'from' property value in the 'query' action inputs is of type 'Object'. The value must be an array.

所以我想弄清楚如何解决这个问题,是否可以创建一个 if/else 语句并检查它是数组还是对象?

或者我应该初始化一个空数组变量并将对象追加到数组中以便过滤器仍然有效吗?

在您的 'Filter array' 操作的 'From' 参数中,尝试使用 array 函数将对象从您的 JSON 转换为数组。