我有一个使用mongodb插件的grails应用程序。完整的JSON对象与嵌套对象的呈现
我所有的域对象是:
class Person {
ObjectId id
String name
}
和
class Like {
ObjectId id
Person from
Person to
Date createdAt
}
我的控制器应根据一些Like
通过ID给出一个完整的数据:
class MyController {
def like() {
def like = Like.findById(new ObjectId("someIdHere"));
render(like as grails.converters.JSON)
}
}
我希望收到一个完整的JSON对象,如:
{
"class":"Like",
"id":{
"class":"org.bson.types.ObjectId",
"inc":1483542456,
"machine":805594765,
"new":false,
"time":1340363115000,
"timeSecond":1340363115
},
"createdAt":"2012-06-22T11:05:15Z",
"from":{
"class":"Person",
"id":{ ... },
"name":"Some name here"
},
"to":{
"class":"Person",
"id":{ ... },
"name":"Some name here"
}
}
,但我已经收到对象的第一级属性:
{
"class":"Like",
"id":{
"class":"org.bson.types.ObjectId",
"inc":1483542456,
"machine":805594765,
"new":false,
"time":1340363115000,
"timeSecond":1340363115
},
"createdAt":"2012-06-22T11:05:15Z",
"from":{
"class":"Person",
"id":"4fd31d453004dc0f010aca51"
},
"to":{
"class":"Person",
"id":"4fd31d463004dc0f010aca89"
}
}
我的问题是:有没有什么办法来构建完整的(与被引用的对象)蒙戈DB(DBOBJECT)数据对象的JSON?我发现这个solution with JSONBuiled与逃脱的领域'类',metaClass'和'dbo'。但我认为它可以使用Expando类来完成,但我上无法找到正确的方式...
感谢任何方式, 马克西姆
我已经试过这种方式,但响应 { “类”: “像”, “ID”:{...}, “createdAt”:“2012-06-22T11:05 :15Z”, “从”:{ “类”: “人”, “ID”:{...}, “名”:空 }, “到”:{ “类”: “Person”, “id”:{...}, “name”:null } } 所以深层配置不会触发延迟方法。 – Maksim
deep.JSON现已弃用。使用JSON.use(“深度”)进行深度转换。 –