2

我正在使用 Spring(与 Jackson)和 jQuery 将表单作为对象传递。我的 pojo 包括可为空的浮点数。但是,当字段为空时,Jackson 会抛出异常:

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

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

谢谢尔

4

2 回答 2

1

默认情况下,杰克逊确实只将显式 JSON null 视为 null 值。但是,如果需要从空字符串强制转换为 null,则添加功能请求很容易。这听起来实际上是一个不错的改进——这就是开源项目经常被改进的方式,基于用户对他们认为应该存在的东西的要求,事情应该工作的方式。

在短期内,您还可以注册自定义反序列化器(http://wiki.fasterxml.com/JacksonHowToCustomDeserializers讲述了一些关于它的信息,尽管不是指南),它接受空字符串并产生 null。

于 2010-08-24T17:25:00.683 回答
0

您最好的选择是检查 javascript 代码中的空字符串并null在这种情况下通过。

于 2010-08-21T06:33:15.367 回答