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

Jolt转换需求:提取并重命名字段实现扁平化输出

解决Jolt转换问题:单次操作实现扁平化与字段重命名

正确的Jolt Spec(单次Shift操作)

[
  {
    "operation": "shift",
    "spec": {
      "data": {
        "positions": {
          "positionEdge": {
            "*": {
              "position": {
                "ref": "[&2].ref",
                "catalogue": {
                  "ref": "[&3].catalogueRef"
                }
              }
            }
          }
        }
      }
    }
  }
]

关键逻辑说明

  • * 用于遍历 positionEdge 数组中的每一项,&2 表示向上回溯2层的数组索引,用来定位结果数组的对应项
  • [&2].ref 直接将 position.ref 映射到结果数组对应项的 ref 字段
  • [&3].catalogueRef 里的 &3 向上回溯3层(从catalogue.ref到positionEdge的数组项),把catalogue.ref重命名为catalogueRef并放到对应数组项中
  • 该Spec会自动忽略cursor、pageInfo这类不需要的字段,一次转换即可得到目标输出

原Spec问题分析

  • 原Spec中"@": "."的写法会把整个position对象复制到当前层级,后续处理catalogue.ref时层级映射逻辑混乱,导致部分字段丢失
  • 额外的remove操作完全冗余,单次Shift就能完成所有转换需求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 15:55:20