【问题标题】:Handling a hasMany relationship in a object marshaller在对象编组器中处理 hasMany 关系
【发布时间】:2013-08-09 09:47:21
【问题描述】:

我正在 Grails 2.2.4 中编写自定义 JSON 对象编组器。我试图转换为 JSON 的类同时具有 belongsTo 和 hasMany 关系。我可以访问belongTo 信息大概是因为关系是1-*,但我不能以同样的方式访问hasMany 信息。以下是我正在使用的代码:

JSON.registerObjectMarshaller( Event){
        Event event -> return [
            id : event.id,
            schoolName : event?.school?.name,
            teachers : [
                teacherName: event?.TEACHERS.toString(),
                ],
            ]
    }

teacherName: event?.TEACHERS.toString(), 行证明我可以访问有效的教师列表。我认为我需要能够遍历列表,但我不确定如何在这种情况下执行此操作。

谢谢

【问题讨论】:

    标签: json grails grails-orm


    【解决方案1】:

    这里有几个选项:

    1) 为教师设置编组器。然后在 Event 的 marshaller 中,你可以简单地做:

    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]
            }
        ]
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-03-19
      • 1970-01-01
      • 2014-09-25
      • 1970-01-01
      • 2013-09-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多