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

如何用JOLT将events_retargeting_groups数组转为键值对并保留原JSON所有键?

可以通过JOLT实现该转换

完全可以用JOLT的shift操作完成需求——保留原JSON所有字段,仅将events_retargeting_groups从数组结构转为以子对象id为键、value为对应值的对象结构。以下是针对两种输入场景的JOLT规范:

场景1:单个JSON对象转换

针对你提供的单个对象输入,对应的JOLT转换规则如下:

[
  {
    "operation": "shift",
    "spec": {
      "*": "&", // 原样保留所有非目标字段
      "events_retargeting_groups": {
        "*": {
          "value": "events_retargeting_groups.@(1,id)" // 将子对象的value映射到以其id为键的位置
        }
      }
    }
  }
]

场景2:JSON数组转换

针对包含多个对象的数组输入,转换规则需要遍历数组中的每个元素,对每个元素单独处理:

[
  {
    "operation": "shift",
    "spec": {
      "*": { // 遍历数组中的每一个对象
        "*": "[&1].&", // 保留当前数组元素的所有原字段
        "events_retargeting_groups": {
          "*": {
            "value": "[&3].events_retargeting_groups.@(1,id)" // &3对应数组元素的索引,确保转换后归属正确的数组位置
          }
        }
      }
    }
  }
]

规则说明

  • *: "&":匹配所有字段并原样保留,确保原JSON的其他键不会丢失。
  • @(1,id):JOLT的路径引用语法,获取当前子对象(层级1)的id值,作为新对象的键。
  • 数组场景中的[&3]:因为嵌套层级关系(数组元素→events_retargeting_groups→子对象),&3指向最外层数组的元素索引,保证每个数组元素的转换结果独立归属到原位置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 01:52:52