mongodb 플러그인이있는 grails 응용 프로그램이 있습니다.중첩 된 객체가있는 객체의 전체 JSON 렌더링
내 모든 도메인 객체는 다음과 같습니다
class Person {
ObjectId id
String name
}
및
class Like {
ObjectId id
Person from
Person to
Date createdAt
}
ID로 일부 Like
에 따라 전체 데이터를 제공해야 내 컨트롤러 : 나는 수신을 원치
class MyController {
def like() {
def like = Like.findById(new ObjectId("someIdHere"));
render(like as grails.converters.JSON)
}
}
같은 전체 JSON 개체 :
012 3,516,{
"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"
}
}
내 질문은 : 몽고의 데시벨 (DBOBJECT) 데이터 객체의 JSON (참조 된 개체 포함) 전체 구성하기 위해 어떤 방법이 있습니까? 나는이 'solution with JSONBuiled'이 'class', 'metaClass'및 'dbo'라는 이스케이프 필드로 발견되었습니다. 하지만 ... 그것은는 Expando 클래스와 함께 할 수 있지만 올바른 방법을 찾을 두지
덕분에 어떤 식 으로든, 막심
나는이 방법을 시도했지만 응답이 { "클래스"입니다 "2012-06-22T11 : 05 :에서 15Z " " ": { "클래스 ":"사람 ", "ID ": {...}, "이름 ": 널 (null) }, "을 ": { "클래스 " "Person", "id": {...}, "name": null } } 따라서 깊은 구성으로 인해 게으른 메서드가 트리거되지 않습니다. – Maksim
deep.JSON은 (는) 더 이상 사용되지 않습니다. 깊은 변환에는 JSON.use ("deep")를 사용하십시오. –