【发布时间】:2013-11-20 21:21:03
【问题描述】:
抱歉,这是 Grails 和 Mongo 的新手问题,因为我让自己感到困惑。
我有一个带有嵌套结构的 POGO(非域类),我需要将其存储在 MongoDB 中。我有如下示例代码,但这只会生成顶级对象的属性映射,并且由于嵌套的 Name 对象,插入失败
class Name {
String firstName
String lastName
}
class Details {
Name name
String street
String city
String postcode
Name[] siblings
}
// Get only the properties we want to save
def dbObject = details.properties.findAll { !['class', 'metaClass'].contains(it.key) }
// Insert it into the details collection
db.details.insert(dbObject)
然后我尝试了这个示例代码答案Grails JSONBuilder,但我得到了以下堆栈跟踪
org.apache.commons.lang.UnhandledException: org.codehaus.groovy.grails.web.converters.exceptions.ConverterException: Unconvertable Object of class: java.util.LinkedHashMap
at org.codehaus.groovy.grails.web.converters.AbstractConverter.toString(AbstractConverter.java:112)
at grails.converters.JSON.toString(JSON.java:232)
at grails.converters.JSON$toString.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
at JSONSerializer.getJSON(JsonSerializer.groovy:21)
【问题讨论】: