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

使用Jolt过滤掉value为{"nil":null}的JSON对象

筛选Jolt中value为数值类型的JSON对象

输入JSON

[{
    "time": "2014-10-31T01:59:59.000+10:00",
    "value": {
      "nil": null
    },
    "metadata": {
      "TVPMeasurementMetadata": {
        "qualifier": {
          "title": null,
          "href": null
        }
      }
    },
    "longitude": "115.1248985",
    "latitude": "-33.963617",
    "gathered_time": "1685662804091"
  },
  {
    "time": "2014-11-30T02:00:00.000+10:00",
    "value": {
      "nil": null
    },
    "metadata": {
      "TVPMeasurementMetadata": {
        "qualifier": {
          "title": null,
          "href": null
        }
      }
    },
    "longitude": "115.1248985",
    "latitude": "-33.963617",
    "gathered_time": "1685662804091"
  },
  {
    "time": "2014-12-10T02:00:00.000+10:00",
    "value": 83.939,
    "metadata": null,
    "longitude": "115.1248985",
    "latitude": "-33.963617",
    "gathered_time": "1685662804091"
  },
  {
    "time": "2014-12-11T02:00:00.000+10:00",
    "value": 84.089,
    "metadata": null,
    "longitude": "115.1248985",
    "latitude": "-33.963617",
    "gathered_time": "1685662804091"
  }
]

期望输出

[{
      "time" : "2014-12-10T02:00:00.000+10:00",
      "value" : 83.939,
      "metadata" : null,
      "longitude" : "115.1248985",
      "latitude" : "-33.963617",
      "gathered_time" : "1685662804091"
    }, {
      "time" : "2014-12-11T02:00:00.000+10:00",
      "value" : 84.089,
      "metadata" : null,
      "longitude" : "115.1248985",
      "latitude" : "-33.963617",
      "gathered_time" : "1685662804091"
    }
]

Jolt解决方案

通过modify-overwrite-beta标记有效元素,再用shift筛选保留,最后清理临时字段:

[
  {
    "operation": "modify-overwrite-beta",
    "spec": {
      "*": {
        "isValidValue": "=not(isObject(@(1,value)))"
      }
    }
  },
  {
    "operation": "shift",
    "spec": {
      "*": {
        "isValidValue": {
          "true": {
            "@2": ""
          }
        }
      }
    }
  },
  {
    "operation": "remove",
    "spec": {
      "*": {
        "isValidValue": ""
      }
    }
  }
]

步骤说明

  1. 标记有效元素:给每个数组元素添加isValidValue字段,判断value是否为非对象类型(即数值),符合条件则赋值为true。
  2. 筛选保留:通过shift操作,仅保留isValidValue为true的元素,@2用于回溯获取当前数组元素的完整内容。
  3. 清理临时字段:用remove操作删除临时添加的isValidValue字段,还原原始数据结构。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 02:45:35