在Grails中,我有一个模型类User,它与另一个模型类Address有一对一的映射。从我的控制器返回JSON格式的用户时,我从未看到地址类,只有id。在我的用户类中,我有:
class User {
Address address
...
static mapping = {
...
address fetch: 'join'
...
}
然后在我的控制器中我做了
User user = user.get(1)
render user as JSON
有没有办法更改映射以使'as JSON'拉回地址类?
我在Grails 1.3.7上运行。
答案 0 :(得分:4)
有两种类型的JSON转换器,即:
grails.converters.deep.JSON
grails.converters.JSON
。
。
你需要的是深度转换器,
只需将导入的类更改为:
// Dont Use: import grails.converters.JSON
import grails.converters.deep.JSON
注意: Grails 1.3.7导入grails.converters.deep.JSON为fiine,在Grails 2.0中已弃用。
这两者之间的区别在于,“Deep”还将JSON化嵌套类,而标准转换器则不会。
希望有帮助
此致
Kushal
答案 1 :(得分:1)
您是否尝试将转换器设置为深度?
JSON.use( “深”){ 用户user = user.get(1) 将用户渲染为JSON }
自定义对象Marshallers周围有一些你可以深入研究的内容,但我的第一次尝试就是尝试深度转换。