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

如何通过Jolt将单个对象的键值对添加到数组的每个对象中?

正确配置Jolt:将jolt_marketplaceMetadata键值对插入数组每个对象

需求说明

将输入JSON中jolt_marketplaceMetadata的所有键值对,添加到jolt_attributes数组的每一个对象内部,同时保留每个数组对象原有的键值对。

输入JSON

{
  "jolt_marketplaceMetadata": {
    "NAN_KEY": 1,
    "TEMP": 3
  },
  "jolt_attributes": [
    {
      "name": "HELLO",
      "yyup": 3
    },
    {
      "huh": "please",
      "work": 2
    }
  ]
}

期望输出

{
  "jolt_attributes": [
    {
      "name": "HELLO",
      "yyup": 3,
      "NAN_KEY": 1,
      "TEMP": 3
    },
    {
      "huh": "please",
      "work": 2,
      "NAN_KEY": 1,
      "TEMP": 3
    }
  ]
}

错误尝试及输出

原配置错误地将数组中所有对象的键值对互相合并,导致每个数组对象包含了所有元素的键:

[
  {
    "operation": "shift",
    "spec": {
      "jolt_attributes": {
        "*": {
          "*": "jolt_attributes[&1].&",
          "@(2,jolt_marketplaceMetadata)": "jolt_attributes[&1]"
        }
      }
    }
  }
]

错误输出:

{
  "jolt_attributes": [
    {
      "NAN_KEY": 1,
      "TEMP": 3,
      "name": "HELLO",
      "yyup": 3,
      "huh": "please",
      "work": 2
    },
    {
      "NAN_KEY": 1,
      "TEMP": 3,
      "name": "HELLO",
      "yyup": 3,
      "huh": "please",
      "work": 2
    }
  ]
}

正确解决方案

问题出在原配置中直接将整个jolt_marketplaceMetadata对象赋值给数组元素,正确的做法是遍历jolt_marketplaceMetadata的每个键值对,逐个映射到当前数组元素中:

[
  {
    "operation": "shift",
    "spec": {
      "jolt_attributes": {
        "*": {
          // 保留当前数组对象的所有原有键值对
          "*": "jolt_attributes[&1].&",
          // 遍历marketplaceMetadata的每个键,将键值对添加到当前数组对象
          "@(2,jolt_marketplaceMetadata.*)": "jolt_attributes[&1].&(0,1)"
        }
      }
    }
  }
]

配置解释

  • *: 遍历jolt_attributes数组的每个元素,&1代表当前数组的索引
  • "*": "jolt_attributes[&1].&":将当前数组元素的每个键值对保留到目标位置
  • "@(2,jolt_marketplaceMetadata.*)": "jolt_attributes[&1].&(0,1)":
    • @(2,jolt_marketplaceMetadata.*):向上两层获取jolt_marketplaceMetadata的所有键值对
    • &(0,1):取jolt_marketplaceMetadata.*中的键名(即NAN_KEY、TEMP),作为目标对象的键

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 10:26:03