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

如何在Jolt Specs中满足条件时删除整条记录?现有规则效果相反

Jolt规则修正:满足条件时将整条记录置为null

需求

当记录里的status字段等于De-Active时,把整条记录改成null。

输入JSON

{
  "Location": "IND",
  "Environment": "",
  "Climate": "Summer",
  "category": "City",
  "status": "De-Active"
}

条件与期望输出

  • 触发条件:status的值为De-Active
  • 期望输出:
null

当前用的Jolt规则(效果相反)

你现在的规则会在status是De-Active时保留原记录,不符合需求:

[
  {
    "operation": "shift",
    "spec": {
      "status": {
        "De-Active": {
          "@2": ""
        }
      }
    }
  }
]

正确的Jolt规则

用下面的规则就能实现需求:

[
  {
    "operation": "shift",
    "spec": {
      "status": {
        "De-Active": {
          "#null": ""
        },
        "*": {
          "@2": ""
        }
      }
    }
  },
  {
    "operation": "modify-overwrite-beta",
    "spec": {
      "*": "=isNull(@(1,&))"
    }
  }
]

简单解释

  1. 第一步shift操作:
    • 如果status是De-Active,就给根节点赋值字符串"null"
    • 如果是其他状态,就保留原完整记录
  2. 第二步modify-overwrite-beta操作:
    • 把字符串"null"转换成真正的null值

这样就能精准实现你要的效果:符合条件时输出null,其他情况保留原数据。

内容的提问来源于stack exchange,提问作者self lab

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 02:45:36