如果是圆形,JSONObject会删除小数点

时间:2013-05-22 13:50:58

标签: json rest double decimal

使用休息服务,我们使用JSON传输值。

在某些时候,我们需要决定输入值是长还是双。而

Double d = 17.0;

System.out.println("toString(): " + d.toString());

将导致

toString(): 17.0

在将值包装到JSONObject中时,零和点将被删除:

JSONObject jo = new JSONObject();
jo.put("myDouble", d);
System.out.println(jo.toString());

输出:

{"myDouble":17}

rest-Service基本上有一个EAV-Store,所以它不应该通过给出的ValueNAME来确定类型。我测试了2个JSON-Implementations,两者都有相同的行为。

我可以以某种方式实现,小数值附加在JSONObject中,而不必为它创建我自己的实现吗?

1 个答案:

答案 0 :(得分:0)

荣誉应该去Perception进行评论:

  

使用其他JSON库(JSON Simple,Gson,Jackson)。序列化浮点数时,所有提到的保留精度保留小数点后一位。

使用JSON Simple,可按预期工作。