如何在Power Automate中用Filter Array筛选含嵌套数组指定值的对象
在Power Automate中筛选包含特定邮箱的数组元素
操作步骤:
解析数据源(可选但推荐)
如果你的原始数据是未解析的JSON字符串(如示例内容),先添加Parse JSON组件,将JSON字符串转换为结构化数组。输入原始JSON后,点击Generate from sample,粘贴示例JSON自动生成schema,后续就能直接引用动态内容。添加Filter Array组件
- 选择要筛选的数组:即你的Object-Array1(对应示例中
Parse JSON输出的value数组,动态内容路径为body('Parse_JSON')?['value'])。 - 切换到高级模式:点击组件右上角的Edit in advanced mode,用表达式实现嵌套数组的筛选逻辑。
- 编写筛选表达式
在高级模式输入框中替换默认内容,输入以下表达式:
@any(item()?['Responsible'], equals(item()?['EMail'], 'abc@def.de'))
表达式说明:
item():代表当前遍历的Object-Array1元素。item()?['Responsible']:获取当前元素下的Responsible嵌套数组。any():检查嵌套数组中是否存在至少一个满足条件的元素。equals(item()?['EMail'], 'abc@def.de'):判断嵌套数组元素的EMail属性是否等于目标邮箱abc@def.de。
- 验证结果
运行流后,Filter Array的输出就是仅包含Responsible数组内存在abc@def.de的Object-Array1元素(即示例中title为"aaa"的条目)。
内容的提问来源于stack exchange,提问作者user2065581
相关产品推荐
相关产品推荐

