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

Groovy如何删除JSON数组中bookId等于指定值的对应对象

问题原因

你现有代码的逻辑是遍历books数组中的每个对象,删除对象内部值等于"1"的属性,所以仅会移除bookId字段,不会将整个符合条件的对象从数组中删除。

解决方案

直接对books数组调用Groovy内置的removeAll方法,匹配bookId为"1"的元素直接移除即可,修改后的完整代码如下:

import groovy.json.JsonSlurper
import groovy.json.JsonOutput

JsonSlurper slurper = new JsonSlurper()
String jsonString = vars.get("jsonOutput")
def parsedJson = slurper.parseText(jsonString)

log.info("Json before: " + jsonString)

// 核心修改:直接移除books数组中bookId为"1"的整个对象
parsedJson.books.removeAll { it.bookId == "1" }

def json = JsonOutput.toJson(parsedJson)
// 如果需要格式化输出结构,可替换为下行代码
// def json = JsonOutput.prettyPrint(JsonOutput.toJson(parsedJson))
log.info("Json after: " + json.toString())

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 10:57:05