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