我使用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
为了允许空值(或表单字段中的空值),我该怎么做?
由于 尔
答案 0 :(得分:1)
默认情况下,Jackson确实只将显式JSON null视为空值。但是如果需要从空String强制到null,则很容易添加功能请求。这听起来确实是一个很好的改进 - 这就是开源项目经常得到改进的方式,基于用户要求他们认为应该存在的事情,以及事情应该如何运作。
短期内你也可以注册自定义反序列化器(http://wiki.fasterxml.com/JacksonHowToCustomDeserializers告诉它一些事情,虽然不是指南)接受空字符串并产生空值。
答案 1 :(得分:0)
最好的办法是检查javascript代码中的空字符串,并在这种情况下通过null
。