Джексон (JSON) бросает jsonmappingException, когда плавать нулю
-
30-09-2019 - |
Вопрос
Я использую весну (с Джексоном) и jQuery, чтобы пройти форму в качестве объекта. Мой POJO включает ненужные поплавки. Однако, когда поля пусты, Джексон бросает привязку:
org.codehaus.jackson.map.JsonMappingException: Can not construct instance of java.lang.Float from String value '': not a valid double value
Что мне нужно сделать, чтобы разрешить нулю (или пустые значения в поле формы)?
Спасибо
Решение
По умолчанию Jackson действительно считается только явным JSON NULL в качестве нулевого значения. Но если бы принуждение к пустой строке до NULL было желательно, это легко добавить запросы на функции. Звучит как хорошее улучшение на самом деле - именно то, насколько проекты с открытым исходным кодом часто улучшаются, основаны на просьбу о том, что они думают, что они должны быть там, пути вещи должны работать.
В краткосрочной перспективе вы также можете зарегистрировать пользовательский дезеррализатор (http://wiki.fasterxml.com/jacksonhowtoCustomDeserializers Рассказывает что-то об этом, хотя не является гидом), который принимает пустую строку и производит нуль.
Другие советы
Ваша лучшая ставка - проверять пустую строку в коде JavaScript и пройти null
в таком случае.