Джексон (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
в таком случае.