我有一個使用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(「深度」)進行深度轉換。 –