Джексон (JSON) генерирует исключение JsonMappingException, когда Float равен нулю

Я использую Spring (с Джексоном) и jQuery для передачи формы как объекта. Мое pojo включает в себя nullable поплавки. Однако, когда поля пусты, Джексон выбрасывает исключение:

org.codehaus.jackson.map.JsonMappingException: Can not construct instance of java.lang.Float from String value '': not a valid double value

Что мне нужно сделать, чтобы разрешить нулевые значения (или пустые значения в поле формы)?

Спасибо эр

2 ответа

Решение

По умолчанию Джексон действительно рассматривает явное значение JSON NULL как нулевое значение. Но если требуется преобразование пустой строки в пустое, легко добавлять запросы функций. На самом деле это звучит как приятное улучшение - именно так часто улучшаются проекты с открытым исходным кодом, основанные на том, что пользователь спрашивает о том, что, по его мнению, должно быть, как все должно работать.

В краткосрочной перспективе вы также можете зарегистрировать пользовательский десериализатор ( http://wiki.fasterxml.com/JacksonHowToCustomDeserializers говорит что-то об этом, хотя это и не руководство), который принимает пустую строку и выдает ноль.

Лучше всего проверить наличие пустой строки в коде JavaScript и пройти null в таком случае.

Другие вопросы по тегам