2014-09-19 26 views
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".

任何人都知道如何解決這個問題?

+0

您使用的是什麼版本的JodaTime插件?還是你根本不使用插件,只是使用JodaTime作爲庫/ jar? – 2014-09-19 19:52:10

+0

我在BuildConfig依賴塊中有'joda-time:joda-time:2.0'的依賴關係。 – user1866924 2014-09-20 12:29:34

+1

好吧,默認情況下,Grails不知道如何將JodaTime類呈現爲XML或JSON。但是,有一個插件將此支持添加到Grails中。我建議你看看使用它:http://grails.org/plugin/joda-time – 2014-09-20 18:20:09

回答

0

實現一個喬達轉換器做了伎倆。謝謝。