You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Logic App中筛选列表获取指定PropertyName对应的Value值

Logic App 按条件筛选列表取值方案

完全可以实现按PropertyName匹配取值,不需要依赖固定下标,有两种常用实现方式:

方式1:使用「筛选数组」动作(无代码门槛,可读性高)

  • 第一步:在Logic App工作流中新增筛选数组操作,「来自」参数填入你要筛选的数组:body('API_-_GET_-_Document')?['DocumentMetaData']
  • 第二步:设置筛选条件为 item()?['PropertyName'] 等于 'Prop2'
  • 第三步:筛选后会得到仅包含匹配项的数组,取第一个元素的Value即可,取值表达式:first(body('筛选数组'))?['Value']

方式2:使用XPath表达式(无需新增动作,直接写在取值位置)

可以直接在需要取值的地方写入如下表达式,一步得到结果:

xpath(xml(json(concat('{"root": {"item":', body('API_-_GET_-_Document')?['DocumentMetaData'], '}}'))), '//item[PropertyName="Prop2"]/Value/text()')[0]

表达式逻辑说明:

先把原List数组包装为符合XML转换要求的JSON结构,转成XML后用XPath语法匹配PropertyName为Prop2的节点,直接提取对应Value值,最后取数组第一位即可得到目标结果。

两种方案都完全不受列表元素顺序影响,即使后续列表新增、删减元素,只要Prop2存在就能稳定取到对应值。


内容的提问来源于stack exchange,提问作者André Miranda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 06:27:03