Grails render as JSON输出关联对象各项属性配置

在Grails的controller中,使用render result as JSON将result的结果转换为json字符串输出客户端时,如果result中包含集合,集合中是另外的对象,此时grails将不能正确输出集合中对象的各项属性json字符串。此时,需要在Config.groovy中配置grails.converters.json.default.deep = true来解决此问题。
不过如此一设置之后,又会将result中的所有属性转换为json,如果客户端不需要,可以考虑将result中的属性的不必要的属性值设为null。
render as JSON始终都会输出class,尚不知如何过滤。
参考资料:http://stackoverflow.com/questions/19144246/grails-get-child-domain-objects

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Grails实现两表关联有多种方式,以下是其一种常用的方法: 假设我们有两个领域模型类:`Author`和`Book`,其`Book`类需要关联`Author`类。 1. 在`Author`类定义主键: ``` class Author { static hasMany = [books: Book] static mapping = { id column: 'author_id' } Integer authorId String name } ``` 2. 在`Book`类定义外键: ``` class Book { static belongsTo = [author: Author] static mapping = { author column: 'author_id' } Integer bookId String title Author author } ``` 在这里,我们使用`belongsTo`来指定`Book`类属于`Author`类,并使用`mapping`来指定外键列名。同时,我们还在`Book`类定义了一个`author`属性,用于访问与此书相关联的作者。 3. 在数据库创建表格: 在数据库创建两张表格,分别为`author`和`book`表。在`book`表需要有一个名为`author_id`的外键列,用于与`author`表建立关联。 4. 保存数据: ``` def author = new Author(name: 'John Doe') author.save() def book = new Book(title: 'My Book', author: author) book.save() ``` 在此示例,我们先创建一个作者对象,然后创建一个书籍对象,并将作者对象赋给书籍对象的`author`属性。最后,我们分别保存作者和书籍对象到数据库。 5. 查询数据: ``` def author = Author.get(1) def books = author.books ``` 在这里,我们使用`get()`方法获取id为1的作者对象,并使用`books`属性获取与此作者相关联的书籍列表。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值