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

JOLT转换字段重命名实现方法及原理详解

JOLT字段重命名实现(含数组场景)

基础单字段重命名示例

输入JSON

{
    "referenceName": "***",
    "name": "***"
}

期望输出JSON

{
    "ReferenceName": "***",
    "ColumnName": "***"
}

JOLT转换规范

[
  {
    "operation": "shift",
    "spec": {
      "referenceName": "ReferenceName",
      "name": "ColumnName"
    }
  }
]

数组场景扩展

如果输入是包含多个对象的数组,比如:

数组输入JSON

[
  {
    "referenceName": "ref_001",
    "name": "col_001"
  },
  {
    "referenceName": "ref_002",
    "name": "col_002"
  }
]

对应JOLT转换规范

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "referenceName": "[&1].ReferenceName",
        "name": "[&1].ColumnName"
      }
    }
  }
]

数组场景输出JSON

[
  {
    "ReferenceName": "ref_001",
    "ColumnName": "col_001"
  },
  {
    "ReferenceName": "ref_002",
    "ColumnName": "col_002"
  }
]

实现原理

JOLT依赖shift操作完成字段重命名与结构转换,核心逻辑如下:

  • shift是JOLT用于数据迁移的核心操作,通过键值对映射规则,将输入数据的指定路径内容迁移到输出数据的目标路径
  • 单字段场景:直接通过"原字段名": "新字段名"的映射规则,把原字段的值赋值给新命名的字段,原字段会被自动丢弃(若需保留原字段需额外配置)
  • 数组场景:
    1. 用通配符*匹配数组中的每一个元素(对应数组的索引位置)
    2. &1是JOLT的路径引用语法,代表引用上层(数组索引层)匹配到的节点值,确保每个数组元素内的字段重命名后,能放回原数组的对应位置,不会打乱数组顺序

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 15:50:25