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

如何在ForEach活动内提取JSON中的machineId用于后续Web Activity?

提取ForEach活动中JSON数据的machineId值

场景说明

你当前在ForEach活动中处理Web Activity返回的JSON数据,需要提取其中的machineId字段用于后续Web Activity,且无法嵌套ForEach活动。你的JSON结构如下:

"grouping": {
        "branchNodes": [
            {
                "type": "COUNTER",
                "machineId": 267315,
                "category": "CH9934787828372398 SUFT",
                "subgroup": {
                    "first": {
                        "href": "https://api.XXXXX.com/c/branch/COUNTER/267315"
                    },
                    "second": {
                        "href": "https://api.XXXXX.com/c/branch/COUNTER/267315/children"
                    },
                    "third": {
                        "href": "https://api.XXXXX.com/c/branch/267315"
                    }
                }
            }
        ]
    }

管道流程:Web Activity → ForEach Activity → 目标Web Activity

解决方案

直接使用表达式在ForEach活动内定位提取,无需嵌套循环:

  • 在后续Web Activity的参数中,使用以下表达式引用machineId:
    @item().grouping.branchNodes[0].machineId
    
    解释:@item()代表ForEach当前循环的单条数据,通过层级索引直接定位到branchNodes数组的第一个元素中的machineId字段。

补充说明

如果branchNodes数组存在多个元素,但你仅需要第一个元素的machineId,上述表达式依然适用;若需获取所有machineId值的数组,可使用XPath表达式:

@xpath(xml(json(item())), '//machineId/text()')

关于你尝试的Execute Pipeline活动:若要使用该方式,可在ForEach中给子管道传递@item()作为参数,在子管道内完成提取,但相比直接使用表达式,这种方式更繁琐,优先推荐直接引用表达式的方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 21:57:58