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

如何通过JOLT Remove操作处理嵌套JSON:保留指定元素与数组项

JOLT转换:保留LEVEL_4数组前2项并移除指定冗余字段

需求:对嵌套JSON执行JOLT转换,需完成两个核心操作:

  • 固定保留LEVEL_4数组的前2项(无论输入数组长度为4、5或6)
  • 移除FIELD_3、FIELD_5及其他指定冗余字段

输入JSON

{
  "LEVEL_0": {
    "RANDOM_FIELD_A": "1234",
    "LEVEL_1": {
      "RANDOM_FIELD_B": null,
      "RANDOM_FIELD_C": "DEEZ",
      "LEVEL_2": {
        "RANDOM_FIELD_D": "12345",
        "RANDOM_FIELD_E": "CHUPAPI",
        "LEVEL_3A": {
          "RANDOM_FIELD_F": 800
        },
        "RANDOM_FIELD_G": null,
        "LEVEL_3B": [
          {
            "RANDOM_FIELD_H": "12345671",
            "RANDOM_FIELD_I": "DONUT",
            "LEVEL_4": [
              {
                "FIELD_1": "CRISPY",
                "FIELD_2": "CREME",
                "FIELD_3": "CHEESE",
                "FIELD_4": "CAKE",
                "FIELD_5": 123456789,
                "FIELD_6": "COCONUT"
              },
              {
                "FIELD_1": "UNCLE",
                "FIELD_2": "BENS",
                "FIELD_3": "FIRED",
                "FIELD_4": "RICE",
                "FIELD_5": 987654321,
                "FIELD_6": "FLAMINGO"
              },
              {
                "FIELD_1": "IN",
                "FIELD_2": "THE",
                "FIELD_3": "JUNGLE",
                "FIELD_4": "THE",
                "FIELD_5": 345453643,
                "FIELD_6": "MIGHTY"
              },
              {
                "FIELD_1": "THIS",
                "FIELD_2": "IS",
                "FIELD_3": "THE",
                "FIELD_4": "LAST",
                "FIELD_5": 344,
                "FIELD_6": "ONE"
              }
            ]
          }
        ]
      }
    }
  }
}

期望输出JSON

{
  "LEVEL_0": {
    "RANDOM_FIELD_A": "1234",
    "LEVEL_1": {
      "RANDOM_FIELD_C": "DEEZ",
      "LEVEL_2": {
        "RANDOM_FIELD_E": "CHUPAPI",
        "LEVEL_3A": {
          "RANDOM_FIELD_F": 800
        },
        "RANDOM_FIELD_G": null,
        "LEVEL_3B": [
          {
            "RANDOM_FIELD_I": "DONUT",
            "LEVEL_4": [
              {
                "FIELD_1": "CRISPY",
                "FIELD_2": "CREME",
                "FIELD_4": "CAKE",
                "FIELD_6": "COCONUT"
              },
              {
                "FIELD_1": "UNCLE",
                "FIELD_2": "BENS",
                "FIELD_4": "RICE",
                "FIELD_6": "FLAMINGO"
              }
            ]
          }
        ]
      }
    }
  }
}

现有JOLT规则(已实现部分字段移除)

[
  {
    "operation": "remove",
    "spec": {
      "LEVEL_0": {
        "LEVEL_1": {
          "RANDOM_FIELD_B": "",
          "LEVEL_2": {
            "RANDOM_FIELD_D": "",
            "LEVEL_3B": {
              "*": {
                "RANDOM_FIELD_H": "",
                "LEVEL_4": {
                  "*": {
                    "FIELD_3": "",
                    "FIELD_5": ""
                  }
                }
              }
            }
          }
        }
      }
    }
  }
]

完整JOLT Remove操作规则

要实现数组项的删减,需在现有规则基础上,针对LEVEL_4数组中索引≥2的元素添加移除规则(JOLT中数组索引从0开始)。完整规则如下:

[
  {
    "operation": "remove",
    "spec": {
      "LEVEL_0": {
        "LEVEL_1": {
          "RANDOM_FIELD_B": "",
          "LEVEL_2": {
            "RANDOM_FIELD_D": "",
            "LEVEL_3B": {
              "*": {
                "RANDOM_FIELD_H": "",
                "LEVEL_4": {
                  // 移除LEVEL_4数组中索引≥2的所有元素,覆盖长度4-6的情况
                  "2": "",
                  "3": "",
                  "4": "",
                  "5": "",
                  // 移除每个元素内的FIELD_3和FIELD_5
                  "*": {
                    "FIELD_3": "",
                    "FIELD_5": ""
                  }
                }
              }
            }
          }
        }
      }
    }
  }
]

规则说明

  • 针对LEVEL_4数组,明确指定移除索引为2、3、4、5的元素,确保只保留前2项(索引0和1)
  • 保留原有字段移除规则,继续清理FIELD_3、FIELD_5及其他冗余字段

内容的提问来源于stack exchange,提问作者Aziz R.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 08:14:55