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

Jolt新手求助:基于特殊字符编写转换Spec实现JSON结构映射

Jolt转换方案

针对你的需求,这里提供通用的Jolt转换Spec,适配表头键名变化的场景,核心利用*、@、&、#等Jolt特殊符号实现动态映射:

转换Spec

[
  {
    "operation": "shift",
    "spec": {
      "0": {
        "*": "headers[#1]"
      },
      "*": {
        "*": {
          "$": "rows[&1-1].&2"
        }
      }
    }
  },
  {
    "operation": "shift",
    "spec": {
      "rows": {
        "*": {
          "*": {
            "@": "[&3].@(3,headers[&1])"
          }
        }
      }
    }
  }
]

转换逻辑说明

  1. 第一步(提取表头与数据)

    • 抓取输入数组第一个元素(表头)的所有键,按原始顺序存入headers数组,#1表示当前键在表头对象中的索引(从0开始计数)。
    • 处理输入数组中从索引1开始的所有数据行,将每个数据行的键名(通过$引用当前键名)按顺序存入rows数组的对应位置:&1-1将输入数组的索引(如1、2)转换为rows数组的索引(0、1),&2表示当前键在数据行中的索引。
  2. 第二步(映射表头与数据)

    • 遍历rows数组的每一行,将每行的值与headers数组同索引的键进行绑定:&3指代rows的当前索引,@(3,headers[&1])向上回溯3层获取headers数组中对应索引的键作为新对象的键,@引用当前数据值(即数据行的键名),最终生成符合预期的对象数组。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 14:27:23