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

如何使用Groovy去除JSON字符串中的内层方括号

问题根因

line.split(',') 方法返回的是字符串数组类型,直接将数组强转为String后存入列表时,Groovy中数组默认的toString()输出格式为[元素内容],序列化后就会出现你遇到的多余内层方括号问题。

调整方案

如果你的CSV每行仅包含1个字段(和你给出的输出样例场景一致),直接取拆分后数组的第一个元素存入列表即可,修改后代码如下:

lines=read from csv
def payload = []

lines.each { line ->
    def contractor = line.split(',')
    // 取拆分后的第一个元素存入,避免使用数组的toString结果
    payload.add(contractor[0] as String)    
}
vars.put('payload', new groovy.json.JsonBuilder(payload).toPrettyString())
log.info(vars.get('payload'))

如果CSV字段首尾存在多余空格,可将存入逻辑改为payload.add(contractor[0].trim() as String)自动去除空格。

如果你的CSV每行实际包含多个字段,需要将所有字段都展开到同一个payload数组中,可将add改为addAll:

lines.each { line ->
    def contractor = line.split(',')
    // 将当前行拆分出的所有元素批量添加到payload中
    payload.addAll(contractor*.toString())
}

调整后生成的JSON就符合你需要的["abc","jagan1","jagan2","jagan3"]格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 14:09:03