2014-09-19 2 views
1

Я пытаюсь отобразить ошибки проверки команды как json, но я получаю исключение. Объект команды использует объекты DateTime времени joda вместо объектов java.util Date. Код, чтобы сделать рендеринг JSon выглядит следующим образом:Grails-Exception при рендеринге 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? –

+0

У меня есть зависимость от «joda-time: joda-time: 2.0» в блоке зависимостей BuildConfig. – user1866924

+1

Хорошо, по умолчанию Grails не знает, как отображать классы JodaTime как XML или JSON. Тем не менее, есть плагин, который добавляет эту поддержку в Grails. Я предлагаю вам использовать его вместо: http://grails.org/plugin/joda-time –

ответ

0

Реализация конвертера Джода сделала трюк. Благодарю.

 Смежные вопросы

  • Нет связанных вопросов^_^