当Float为null时,Jackson(JSON)抛出JsonMappingException

时间:2010-08-20 23:38:05

标签: jquery json spring spring-mvc jackson

我使用Spring(使用Jackson)和jQuery将表单作为对象传递。我的pojo包括可空浮动。但是,当这些字段为空时,杰克逊会抛出一个执行:

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

为了允许空值(或表单字段中的空值),我该怎么做?

由于 尔

2 个答案:

答案 0 :(得分:1)

默认情况下,Jackson确实只将显式JSON null视为空值。但是如果需要从空String强制到null,则很容易添加功能请求。这听起来确实是一个很好的改进 - 这就是开源项目经常得到改进的方式,基于用户要求他们认为应该存在的事情,以及事情应该如何运作。

短期内你也可以注册自定义反序列化器(http://wiki.fasterxml.com/JacksonHowToCustomDeserializers告诉它一些事情,虽然不是指南)接受空字符串并产生空值。

答案 1 :(得分:0)

最好的办法是检查javascript代码中的空字符串,并在这种情况下通过null