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

Groovy使用JsonBuilder如何将多个ArrayList合并输出为单个JSON

问题根因

你当前的写法每次调用json 参数的方式会直接覆盖JsonBuilder的根节点内容,所以两次调用分别生成了只含set1和只含set2的两个独立JSON对象。

方案1:一次性构建所有属性

如果两个集合都是提前准备好的,直接在一次JsonBuilder调用中传入所有键值对即可:

def a = ['R1','R2']
def b = ['R3','R4']
def json = new groovy.json.JsonBuilder()

// 一次性传入两个集合对应的键值对
json set1: a, set2: b
println groovy.json.JsonOutput.prettyPrint(json.toString())

方案2:分步骤追加属性

如果需要按逻辑分批次添加属性,可以操作JsonBuilder的content属性(本质是Map)手动追加键值对:

def a = ['R1','R2']
def b = ['R3','R4']
def json = new groovy.json.JsonBuilder()

// 先添加第一个集合
json set1: a
// 追加第二个集合到根节点
json.content.put('set2', b)
println groovy.json.JsonOutput.prettyPrint(json.toString())

两种方案的输出都和你期望的格式完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 10:27:03