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

如何在Jolt中使用shift和modify-overwrite-beta转换JSON数据并解析原理

Jolt转换实现方案

转换规则

[
  {
    "operation": "modify-overwrite-beta",
    "spec": {
      "*": {
        "data": {
          "fullName": "=concat(@(1,firstName), ' ', @(1,lastName))"
        }
      }
    }
  },
  {
    "operation": "shift",
    "spec": {
      "*": {
        "data": {
          "id": {
            "@(1,fullName)": "@(1)"
          }
        }
      }
    }
  }
]

工作机制解释

第一步:modify-overwrite-beta 操作

这个操作的核心是生成全名:

  • * 通配符匹配输入数组里的每一项元素;
  • 针对每个元素下的data节点,新增fullName字段,通过=concat函数把同层级的firstName和lastName用空格拼接;
  • @(1,firstName) 表示向上回溯1层(从当前fullName节点到父节点data),获取data下的名字值,@(1,lastName)同理获取姓氏值。

第二步:shift 操作

这个操作负责重组结构,把ID作为对象键:

  • 同样用*遍历数组中的每个元素;
  • 进入data节点后定位到id字段:
    • @(1,fullName) 回溯1层到data节点,拿到第一步生成的全名;
    • @(1) 指代当前id字段的具体值,将其作为最终输出对象的键;
    • 把全名映射到对应ID为键的对象中,所有元素处理完成后就得到目标结构。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 10:50:15