【发布时间】:2012-06-20 12:01:22
【问题描述】:
当我使用 Gson 序列化一个包含接近零的双精度值的对象时,它使用的是科学 E 符号:
{"doublevaule":5.6E-4}
如何告诉 Gson 生成
{"doublevaule":0.00056}
相反?我可以实现一个自定义的 JsonSerializer,但它返回一个 JsonElement。我将不得不返回一个 JsonPrimitive,其中包含一个无法控制其序列化方式的 double。
谢谢!
【问题讨论】:
-
为什么会有问题?科学记数法在 JSON 中有效,任何处理 JSON 的东西都应该能够正确解析(与未使用科学记数法完全相同的值)。
-
我不反对,你是对的 Joachim。我仍然希望我的 JSON 不包含科学记数法。这对 GSon 可行吗?
-
我有完全相同的问题,仅仅是因为我有一个无法处理指数的损坏的 JSON 消费者。我意识到真正的解决方法是对消费者进行排序,但有时这超出了我们的控制范围。因此,我认为这是一个合理(如果不寻常)的要求
标签: java json format double gson