1
我試圖將命令驗證錯誤渲染爲json,但是出現異常。命令對象使用joda time DateTime對象而不是java.util Date對象。做JSON渲染代碼如下:Grails-將Joda日期渲染爲JSON時出現異常
def results = eventSaleDataCommand.errors.fieldErrors.toList()
def errors = []
for (error in results) {
errors.add([
'type' : 'invalid_entry',
'field' : error.field,
'rejected_value': error.rejectedValue,
'message' : error.defaultMessage
])
}
render errors as JSON
我得到的例外是: Class org.codehaus.groovy.grails.web.converters.marshaller.json.GenericJavaBeanMarshaller can not access a member of class org.joda.time.tz.DateTimeZoneBuilder$PrecalculatedZone with modifiers "public".
任何人都知道如何解決這個問題?
您使用的是什麼版本的JodaTime插件?還是你根本不使用插件,只是使用JodaTime作爲庫/ jar? – 2014-09-19 19:52:10
我在BuildConfig依賴塊中有'joda-time:joda-time:2.0'的依賴關係。 – user1866924 2014-09-20 12:29:34
好吧,默認情況下,Grails不知道如何將JodaTime類呈現爲XML或JSON。但是,有一個插件將此支持添加到Grails中。我建議你看看使用它:http://grails.org/plugin/joda-time – 2014-09-20 18:20:09