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

求保留原字段的Jolt Spec:提取嵌套name字段为父键_name格式

Jolt转换:保留原始字段并生成嵌套name的扁平化字段

需求说明

需要将JSON中所有包含嵌套name键的对象,生成「父键名_name」格式的新字段,同时完整保留所有原始字段及值。此前尝试的Shift操作仅生成了新字段,但丢失了原始数据。

输入JSON

[
  {
    "id": 123,
    "foo": "fooooooo",
    "bar": "bbbbbbarr",
    "recordtype": {
      "name": "type123",
      "some_field": "don't care"
    },
    "parent": {
      "name": "parent123",
      "some_field": "don't care"
    }
  },
  {
    "id": 456,
    "foo": "ooooooff",
    "bar": "rrrrraaabbbb",
    "recordtype": {
      "name": "type456",
      "some_field": "don't care"
    },
    "parent": {
      "name": "parent789",
      "some_field": "don't care"
    }
  }
]

期望输出JSON

[
  {
    "id": 123,
    "foo": "fooooooo",
    "bar": "bbbbbbarr",
    "recordtype": {
      "name": "type123",
      "some_field": "don't care"
    },
    "parent": {
      "name": "parent123",
      "some_field": "don't care"
    },
    "recordtype_name": "type123",
    "parent_name": "parent123"
  },
  {
    "id": 456,
    "foo": "ooooooff",
    "bar": "rrrrraaabbbb",
    "recordtype": {
      "name": "type456",
      "some_field": "don't care"
    },
    "parent": {
      "name": "parent789",
      "some_field": "don't care"
    },
    "recordtype_name": "type456",
    "parent_name": "parent789"
  }
]

已尝试的Jolt Spec(丢失原始字段)

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "*": {
          "name": "[&2].&1_&"
        }
      }
    }
  }
]

正确的Jolt Spec

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        // 保留当前数组元素的所有原始字段
        "@": "[&1]",
        // 遍历所有顶级键,提取嵌套的name生成新字段
        "*": {
          "name": "[&2].&1_name"
        }
      }
    }
  }
]

说明

  • "@": "[&1]":将数组中当前索引的完整对象映射到输出的对应位置,确保所有原始字段被保留。
  • "*": { "name": "[&2].&1_name" }:匹配每个顶级键(如recordtype、parent),当该键对应的对象包含name时,生成父键名_name格式的新字段;其中&2回溯到数组的索引位置,&1指代当前父键的名称。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 05:47:31