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

JOLT:如何将单个对象数据合并到多个对象并解决字段异常?

JOLT转换方案:将info数据合并到data数组的每个对象中

需求

将输入JSON中info键下的country字段合并到data数组的每一个对象中,同时将原value字段重命名为price,最终每个对象的country需为单个值而非数组。

输入JSON

{
  "data": [
    {
      "item": "banana",
      "value": 3
    },
    {
      "item": "banana",
      "value": 3
    }
  ],
  "info": {
    "place": [
      {
        "country": "canada"
      }
    ]
  }
}

当前问题

原JOLT转换后,第一个对象的country是数组,且第二个对象未添加country字段,仅用cardinality操作无法同时解决这两个问题。

正确的JOLT转换代码

[
  {
    "operation": "shift",
    "spec": {
      // 先将info中的country提取到顶层临时存储
      "info": {
        "place": {
          "0": {
            "country": "country"
          }
        }
      },
      // 遍历data数组的每个元素,映射字段并添加country
      "data": {
        "*": {
          "item": "[&1].item",
          "value": "[&1].price",
          "@(2,country)": "[&1].country"
        }
      }
    }
  },
  {
    // 移除顶层临时存储的country字段
    "operation": "remove",
    "spec": {
      "country": ""
    }
  }
]

转换后输出结果

[
  {
    "item": "banana",
    "price": 3,
    "country": "canada"
  },
  {
    "item": "banana",
    "price": 3,
    "country": "canada"
  }
]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 15:25:20