防止杰克逊将浮动序列化为双倍

时间:2013-06-13 06:50:23

标签: java floating-point jackson

杰克逊似乎在我试图序列化为JSON的任何数据结构中强制所有浮点数进入双打。有没有办法避免这种行为?

Float f = 50.1f;
System.out.println(f);                                 // 50.1
System.out.println(f.doubleValue());                   // 50.099998474121094
System.out.println(new ObjectMapper().valueToTree(f)); // 50.099998474121094 -- how to prevent this?

使用jackson-all-1.9.11.jar。

1 个答案:

答案 0 :(得分:0)

您可以使用自己的自定义Jackson序列化程序,如link

中所述

Java to Jackson JSON serialization: Money fields