Json 在对象封送器中处理hasMany关系

Json 在对象封送器中处理hasMany关系,json,grails,gorm,Json,Grails,Gorm,我正在Grails2.2.4中编写一个自定义JSON对象封送器。我试图转换为JSON的类既有belongsTo又有hasMany关系。我可以访问belongTo信息,大概是因为关系为1-*但我不能以相同的方式访问hasmall信息。以下是我正在使用的代码: JSON.registerObjectMarshaller( Event){ Event event -> return [ id : event.id, schoolNa

我正在Grails2.2.4中编写一个自定义JSON对象封送器。我试图转换为JSON的类既有belongsTo又有hasMany关系。我可以访问belongTo信息,大概是因为关系为1-*但我不能以相同的方式访问hasmall信息。以下是我正在使用的代码:

JSON.registerObjectMarshaller( Event){
        Event event -> return [
            id : event.id,
            schoolName : event?.school?.name,
            teachers : [
                teacherName: event?.TEACHERS.toString(),
                ],
            ]
    }
有一行
teacherName:event?.TEACHERS.toString(),
证明我可以访问有效的教师列表。我想我需要能够遍历列表,但我不确定在这种情况下如何去做

谢谢这里的两个选项:

1) 为老师安排一名警察。然后在marshaller for事件中,您只需执行以下操作:

teachers:event?.teachers

2) 如果您不想为教师设置封送员,请执行以下操作:

JSON.registerObjectMarshaller(Event){ Event event -> 
    [ 
        id : event.id,
        schoolName : event?.school?.name,
        teachers : event.teachers.collect{ Teacher teacher ->
            [id: teacher.id, name: teacher.name]
        }
    ]
}