json - grails 将集合渲染为单个 json 对象

标签 json grails

例如我有下一个域类

User{
   String name
}

我也有这个类的 2 个对象
new User(name: "John").save()
new User(name: "Alex").save()

UserController 中的“列表”操作应该如何以这样的 JSON 格式表示 User.list()
{1: "John", 2: "Alex"}

让我说得更准确。我想要这样的东西:
UserController{
   def list = {
    render(contentType: "text/json") {
        User.list().each {user->
            user.id = user.name
        }
    }
}

但遗憾的是,这不起作用。

最佳答案

尝试数组结构,

def list = {
    render(contentType: "text/json") {
        results = array {
            User.list().each {user->
                result "${user.id}" : "${user.name}"
            }
        }
    }
}

关于json - grails 将集合渲染为单个 json 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10898576/

相关文章:

javascript - 动态添加字段并发送JSON

grails - 如何使用 Grails Controller 名称使 Ember.js 行为正常?

mongodb - 如何在 Grails 2.4.2 项目中集成 Spring Data Neo4j 和 Mongodb

list - 如何在groovy/grails中获取列表中一个元素的值

grails - Grails datepicker根据一天中的时间设置日期的默认值

javascript - 从 SOAP 转换后如何访问嵌套的 JSON 节点?

ruby-on-rails - 如何将我的字符串转换为数组? (JSON.parse 错误)

json - 为什么 MongoDB 会产生无效的 JSON? ObjectId 没有被引用,打破 jq 解析器

jquery - 使用序列化数据 (JSON) 作为输入构建 gridster 布局

grails - 在<g:layoutBody>中覆盖Grails <g:set>变量的值