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

Azure Logic App 单对象转为数组适配Filter Array操作解决方案问询

解决Azure Logic App中Parse JSON输出单对象导致Filter Array报错的方案

你提到的两种思路都可以落地,这里提供两种可直接复用的实现方式:

方案1:用array()函数强制转换(优先推荐,改动最小)

无需新增分支或变量,直接修改Filter Array步骤的from输入即可:

  • 操作步骤:
    1. 点击Filter Array步骤的「从」输入框,切换到「表达式」 tab
    2. 输入表达式:array(body('Parse_JSON')),替换原来直接引用Parse JSON输出的配置
    3. 保存流后重新测试即可
  • 逻辑说明:
    array()是Logic App内置的类型转换函数,会自动适配两种输入场景:
    • 输入为数组时,直接返回原数组
    • 输入为单个对象时,自动将对象包裹为长度为1的数组,完全满足Filter Array的输入类型要求
      该方案无需额外步骤,执行效率最高。

方案2:类型判断+数组变量适配(适合需分场景做前置处理的情况)

如果你需要针对单对象/数组返回结果做不同的前置处理,可以用分支判断的方案:

  1. 流程最开始新增「初始化变量」步骤,变量类型设为数组,名称可设为FilterInput,默认值为空数组[]
  2. Parse JSON步骤后新增「条件」步骤,判断返回结果的类型,条件表达式为:equals(type(body('Parse_JSON')), 'array')
  3. 条件为真(返回结果是数组):新增「设置变量」步骤,将FilterInput的值设置为Parse JSON的输出
  4. 条件为假(返回结果是单个对象):新增「追加到数组变量」步骤,将Parse JSON的输出追加到FilterInput中
  5. 将后续Filter Array步骤的from输入替换为变量FilterInput即可

两种方案都不需要修改你之前调整的Parse JSON schema配置,保留允许object/array两种类型的设置即可。

内容的提问来源于stack exchange,提问作者Maari

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 12:24:04