Grails JSON转换器不是序列化嵌入的子对象

时间:2014-05-05 18:07:10

标签: grails grails-2.0

我将项目从grails 2.3.4升级到2.3.8,嵌入式JSON对象的转换停止工作

我使用MongoDB作为唯一的持久性。

以下是我的代码结构。


// Post class
class Post {
    String id
    String title
    String content
    List comments

    static embedded = ['comments']
    static hasMany = [comments: Comment]

}

//Comments class
class Comment {
    String name
    String email
    String website
    String content
}

//code in controller
class PostController {
    def show() {
        def postInstance = Post.collection.findOne(title: id)
        postInstance = postInstance as Post
        log.info "Post comments with id {postInstance.comments.name}"

        respond postInstance
    }
}

//log details
INFO Post comments with id [Hussain1, Hussain2]

//JSON Response
{
    "class": "com.Post",
    "id": "5364be6703647a4cd37dd293",
    "comments": [
        {
            "class": "com.Comment",
            "id": null
        },
        {
            "class": "com.Comment",
            "id": null
        }
    ],
    "content": "Content",
    "title": "This-is-a-title"
}

任何想法为什么JSON对象中的子对象没有得到类似的东西在Grails 2.3.4中工作

1 个答案:

答案 0 :(得分:1)

你是从MongoDB而不是域实例渲染BSONObject,这是故意的吗?如果是,请检查您实际存储在Post文档集合中的数据。否则,请在http://jira.grails.org/browse/GPMONGODB处提交一个jira,并附上一个再现该问题的示例。