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

在Logic App中借助Manifest解析JSON并提取header_id调用API

在Azure Logic Apps中提取data_array里的header_id值

方法1:直接通过数组索引提取(简单直接)

从传入的JSON schema里能看到,header_id对应的是position 0,也就是data_array中每个子数组的第一个元素,直接用表达式定位即可:

  • 添加For each动作,选择result->data_array作为遍历的目标数组。
  • 在循环内部,用以下表达式获取当前项的header_id:
    item()[0]
    
    这个表达式会直接取出当前子数组的第一个元素(即12345或34567)。
  • 把提取到的值传入HTTP Connector的请求参数或请求体,即可调用目标API。

方法2:基于schema动态映射(适配字段位置变化)

如果担心后续schema中header_id的position可能变动,可以先从schema中动态获取它的位置,再提取对应值:

  1. 添加Compose动作,用以下表达式获取header_id对应的position:
    first(filter(triggerBody()?['manifest']?['schema']?['columns'], equals(item()?['name'], 'header_id')))?['position']
    
    该表达式会过滤出name为header_id的列,提取它的position值(当前为0)。
  2. 将Compose的输出保存为变量(比如命名为headerPosition)。
  3. 在For each遍历data_array时,用以下表达式提取header_id:
    item()[variables('headerPosition')]
    
  4. 同样将提取到的值传入HTTP Connector完成API调用。

注意事项

  • 确保Logic Apps触发器已正确解析传入的JSON,能直接访问result->data_array和manifest->schema->columns等路径。
  • 若需批量调用API,可在For each内部直接添加HTTP动作;若需先收集所有header_id再统一处理,可使用Append to array variable动作先将所有值存入数组,再执行批量调用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 06:34:51