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

求助:基于Jolt实现按field1指定值条件清空res1字段

Jolt条件清空字段解决方案

输入JSON数据

[
  {
    "field1": "xyz",
    "field2": "mno",
    "res1": "pqrs"
  },
  {
    "field1": "/folder1/subfolder/name",
    "field2": "mno1",
    "res1": "pqrs1"
  },
  // 其他条目
]

需求说明

现有Jolt Spec可实现字段清空,但需添加条件校验:仅当field1的值为/folder1/subfolder/name、/folder2/subfolder/name或/folder3/subfolder/name时,才清空res1字段。

原无校验的Jolt Spec:

[
  {
    "operation": "default",
    "spec": {
      "*": {
        "*": {
          "res": ""
        }
      }
    }
  }
]

尝试过的无效Jolt Spec

[
  {
    "operation": "modify-overwrite-beta",
    "spec": {
      "*": {
        "if": "field1 == '/abc/bvcd' || field1 == '/xyz/prq/'",
        "then": {
          "res1": ""
        },
        "else": {}
      }
    }
  }
]

修正后的Jolt Spec

[
  {
    "operation": "modify-overwrite-beta",
    "spec": {
      "*": {
        "res1": "=if(@(1,field1) == '/folder1/subfolder/name' || @(1,field1) == '/folder2/subfolder/name' || @(1,field1) == '/folder3/subfolder/name', '', @(1,res1))"
      }
    }
  }
]

说明

  • 使用@(1,field1)正确引用当前数组元素下的field1字段(1表示向上一级路径);
  • 通过if函数实现条件判断:满足指定field1值时,将res1设为空字符串,否则保留原res1的值;
  • 采用modify-overwrite-beta操作,确保仅符合条件的条目会被修改,其余条目保持原样。

内容的提问来源于stack exchange,提问作者Dot Net Dev 19

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 23:38:24