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

如何在Jolt转换中移除JSON数组内的null值?

解决Jolt转换后数组中null元素的移除问题

问题分析

当前Jolt转换后Ratings数组出现第一个null元素,原因是shift操作里的"*"匹配了ratings下的所有字段(包括primary),但primary被单独映射到primary1,没有为Ratings[0]生成有效键值对,因此留下空值。

解决方案

方案1:精准匹配字段,避免生成null

修改shift操作的匹配规则,只让需要放入Ratings的字段(quality和design)参与数组生成,直接跳过primary:

[
  {
    "operation": "shift",
    "spec": {
      "ratings": {
        "primary": "primary1",
        "quality|design": {
          "$": "Ratings[#2].Name",
          "@": "Ratings[#2].Value"
        }
      }
    }
  }
]

方案2:添加remove操作清理null

保留原shift逻辑,新增remove操作删除数组中的null元素:

[
  {
    "operation": "shift",
    "spec": {
      "ratings": {
        "primary": "primary1",
        "*": {
          "$": "Ratings[#2].Name",
          "@": "Ratings[#2].Value"
        }
      }
    }
  },
  {
    "operation": "remove",
    "spec": {
      "Ratings": {
        "@null": ""
      }
    }
  }
]

转换结果

两种方案都能得到预期输出:

{
  "primary1" : 5,
  "Ratings" : [ {
    "Name" : "quality",
    "Value" : 4
  }, {
    "Name" : "design",
    "Value" : 5
  } ]
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 06:00:59