Я пытаюсь отобразить ошибки проверки команды как 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".
Кто знает, как обойти это?
Какую версию плагина JodaTime вы используете? Или вы вообще не используете плагин и просто используете JodaTime в качестве библиотеки/jar? –
У меня есть зависимость от «joda-time: joda-time: 2.0» в блоке зависимостей BuildConfig. – user1866924
Хорошо, по умолчанию Grails не знает, как отображать классы JodaTime как XML или JSON. Тем не менее, есть плагин, который добавляет эту поддержку в Grails. Я предлагаю вам использовать его вместо: http://grails.org/plugin/joda-time –