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

JOLT Shift操作中如何筛选priority为0的industryCodes数据?

JOLT转换过滤priority=1数据的解决方案

问题场景

现有JSON输入片段:

"industryCodes": [
      {
        "code": "1234567",
        "description": "industry description1",
        "typeDescription": "standard1",
        "typeCode": "765",
        "priority": 0
      },
      {
        "code": "Fail",
        "description": "industry description1",
        "typeDescription": "standard1",
        "typeCode": "765",
        "priority": 1
      },
      {
        "code": "Fail2",
        "description": "industry description2",
        "typeDescription": "standard2",
        "typeCode": "0001",
        "priority": 0
      }]

期望输出仅保留priority=0且typeCode=765的条目:

"standard1" : [ {
      "value" : "1234567"
    } ]

当前JOLT代码会把priority=1的Fail也纳入结果,需调整过滤逻辑。

修改后的JOLT代码

{
  "operation": "shift",
  "spec": {
    "industryCodes": {
      "*": {
        "priority": {
          "0": {
            "@(2,typeCode)": {
              "765": {
                "@(3,code)": "[4].attributes.standard1[0].value"
              }
            }
          }
        }
      }
    }
  }
}

逻辑说明

  • 新增"priority": {"0": {...}}层级,先过滤出priority等于0的条目,再执行后续typeCode匹配和取值操作,直接排除priority=1的数据。
  • 使用@(3,code)是因为当前层级位于priority的0节点下,向上追溯3层才能获取到code字段的取值(层级依次为:priority节点 → 数组元素节点 → industryCodes下的对象节点)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 11:35:20