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

使用JOLT Transformation拆分JSON对象键为独立数组元素

JOLT转换方案

需求说明

将输入的JSON对象数组,把每个对象的每个键值对拆分为独立的数组元素,每个元素包含value(对应原键的值)、variable(对应原键名),并添加固定值为device的model字段。

输入JSON

[
  {
    "Company": "Tesla",
    "Age": 30.2
  },
  {
    "Company": "Facebook",
    "Age": 40.5
  },
  {
    "Company": "Amazon",
    "Age": 60
  }
]

期望输出JSON

[
  {
    "value": "Tesla",
    "variable": "Company",
    "model": "device"
  },
  {
    "value": "Facebook",
    "variable": "Company",
    "model": "device"
  },
  {
    "value": "Amazon",
    "variable": "Company",
    "model": "device"
  },
  {
    "value": 30.2,
    "variable": "Age",
    "model": "device"
  },
  {
    "value": 40.5,
    "variable": "Age",
    "model": "device"
  },
  {
    "value": 60,
    "variable": "Age",
    "model": "device"
  }
]

可行的JOLT Spec

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "*": {
          "@": "[].value",
          "$": "[].variable"
        }
      }
    }
  },
  {
    "operation": "default",
    "spec": {
      "*": {
        "model": "device"
      }
    }
  }
]

规则解释

  1. Shift操作:

    • 外层*匹配输入数组中的每一个对象
    • 内层*匹配每个对象中的每一个键
    • @引用当前键对应的值,映射到新数组元素的value字段
    • $引用当前键的名称,映射到新数组元素的variable字段
    • []表示每处理一个键值对就生成一个新的数组元素,实现所有键值对的展开
  2. Default操作:

    • 遍历新数组中的每一个对象,为其添加固定字段model,值设为device

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 21:30:51