首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Groovy JsonBuilder不包括集合

Groovy JsonBuilder不包括集合
EN

Stack Overflow用户
提问于 2014-07-16 05:47:00
回答 2查看 239关注 0票数 1

我有以下代码:

代码语言:javascript
复制
    def customers = Customer.findAll()
    def json = new JsonBuilder()
    json {
        customers.each { customer ->
            id customer.id
            name customer.name
            address customer.address
        }
    }

我期望结果是一个客户的json数组,但实际上它只包含一个客户。注意customers列表包含2个元素。

我看到其他一些帖子提到使用类似这样的东西:

代码语言:javascript
复制
customers.collect { 
    Customer c -> [id: c.id, name: c.name, address: c.address]
}   

但是这种风格并不能很好地适应构建器。例如,我必须使用冒号:来赋值。

有没有不创建groovy对象的其他方法?

EN

回答 2

Stack Overflow用户

发布于 2014-07-16 06:16:31

不,json是一个map,您需要一个map列表。你要做的就是重新分配id,name和address字段,这样你就可以得到最后一个值。

因此,您需要像问题中那样将地图列表collect在一起。

票数 0
EN

Stack Overflow用户

发布于 2014-07-16 07:54:48

你需要的就是这个。

代码语言:javascript
复制
def json = new JsonBuilder( customers )

如果customer中没有json中不需要的其他项。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24768757

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档