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

使用JOLT从数组多对象中提取重复字段值并生成唯一对象

JOLT实现JSON数组按code字段去重

要实现按code字段去重,需要分两步进行JOLT转换:先通过shift操作以code值作为唯一键分组去重,再将分组结果转换为目标数组格式。

正确的JOLT Spec

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "@payload.code": "@payload.code.code"
      }
    }
  },
  {
    "operation": "shift",
    "spec": {
      "*": {
        "$": "[&1].code"
      }
    }
  }
]

转换逻辑说明

  1. 第一步shift操作:

    • 遍历输入数组的每个元素(*匹配所有数组索引)
    • 用@payload.code的值作为顶层键,将code值赋值给该键下的code字段
    • 相同code值的元素会被自动合并覆盖,最终得到以code值为键的对象(如{"ABC": {"code": "ABC"}, "DEF": {"code": "DEF"}})
  2. 第二步shift操作:

    • 遍历第一步生成的所有键(*匹配ABC、DEF等)
    • 用$引用当前键的名称,将其赋值给数组元素的code字段
    • 最终转换为包含唯一code的对象数组

验证结果

输入数组经过上述Spec转换后,将得到预期输出:

[
  {
    "code": "ABC"
  },
  {
    "code": "DEF"
  }
]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 11:52:18