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

如何使用JOLT对同前缀JSON属性分组并忽略空值

使用JOLT工具分组相同前缀JSON属性并忽略NULL值

输入JSON

{
  "Project": "ABC",
  "Project Code": "ABC",
  "Image 1 URL": null,
  "Image 1 Description": null,
  "Image 2 URL": "https://test.com",
  "Image 2 Description": "description 2",
  "Image 3 URL": null,
  "Image 3 Description": null,
  "Image 4 URL": "https://test.com",
  "Image 4 Description": "description 4"
}

期望输出JSON

{
   "projectName":"ABC",
   "projectCode":"ABC",
   "media":{
      "images":[
         {
            "name":"Image 2",
            "url":"https://test.com",
            "description":"description 2"
         },
         {
            "name":"Image 4",
            "url":"https://test.com",
            "description":"description 4"
         }
      ]
   }
}

JOLT转换规范

以下是实现需求的JOLT转换规则:

[
  {
    "operation": "shift",
    "spec": {
      "Project": "projectName",
      "Project Code": "projectCode",
      "Image * URL": {
        "@(1,Image &1 Description)": "media.images[&1].description",
        "@": "media.images[&1].url",
        "$(0,1)": "media.images[&1].name"
      }
    }
  },
  {
    "operation": "modify-overwrite-beta",
    "spec": {
      "media": {
        "images": "=recursivelySquashNulls"
      }
    }
  },
  {
    "operation": "shift",
    "spec": {
      "projectName": "projectName",
      "projectCode": "projectCode",
      "media": {
        "images": {
          "*": {
            "url": {
              "@2": "media.images[]"
            }
          }
        }
      }
    }
  }
]

规则说明

  1. 第一步Shift操作:

    • 直接映射顶层字段Project和Project Code到目标字段名;
    • 匹配Image * URL格式的字段,通过&1提取序号,关联对应的描述字段,同时生成每个图片的name、url、description属性,存入media.images数组对应索引位置。
  2. Modify操作:

    • 调用recursivelySquashNulls函数,移除所有值为NULL的字段以及空对象,把那些URL和描述全为NULL的图片条目清空。
  3. 第二步Shift操作:

    • 重新过滤images数组,只保留包含url字段的有效条目,确保最终数组里只有非空的图片对象。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 10:05:17