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

使用Jolt按指定键提取属性:拆分经理与同事列表问题

Jolt配置问题:按指定字段提取经理和同事独立列表

需求:根据输入JSON中的manager和colleague字段值,从employeelist数组中提取对应员工,分别生成经理和同事的独立列表。当前使用的Jolt Shift规格导致两个列表都重复了完整员工列表,寻求正确配置方案。

输入JSON

{
  "employeelist": [
    {
      "employee": "test",
      "firstName": "ABC",
      "lastName": "DEF"
    },
    {
      "employee": "test1",
      "firstName": "nametest",
      "lastName": "namelast"
    }
  ],
  "manager": "test",
  "colleague": "test1"
}

期望输出

{
  "manager": [
    {
      "employee": "test",
      "firstName": "ABC",
      "lastName": "DEF"
    }
  ],
  "colleague": [
    {
      "employee": "test1",
      "firstName": "nametest",
      "lastName": "namelast"
    }
  ]
}

当前错误的Jolt规格

[
  { // segregate values of the same key and form respective arrays.
    "operation": "shift",
    "spec": {
      "employeelist": {
        "*": {
          "employee": {
            "@(3,manager)": {
              "@2": "manager.[]"
            },
            "@(3,colleague)": {
              "@2": "colleague.[]"
            }
          }
        }
      }
    }
  }
]

正确的Jolt配置方案

[
  {
    "operation": "shift",
    "spec": {
      "employeelist": {
        "*": {
          // 用当前员工的employee值与根节点的manager/colleague值匹配
          "@(1,employee)": {
            "@(3,manager)": { "@2": "manager.[]" },
            "@(3,colleague)": { "@2": "colleague.[]" }
          }
        }
      }
    }
  }
]

配置说明

  • 利用@(1,employee)获取当前遍历到的员工的employee字段值
  • 通过@(3,manager)和@(3,colleague)引用根节点的经理、同事标识值
  • 只有当员工的employee值与经理/同事标识值匹配时,才将该员工对象(@2指向当前员工的完整对象)加入对应的数组中,避免了无关员工被重复加入列表

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 23:00:25