使用休息服务,我们使用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中,而不必为它创建我自己的实现吗?
答案 0 :(得分:0)
荣誉应该去Perception进行评论:
使用其他JSON库(JSON Simple,Gson,Jackson)。序列化浮点数时,所有提到的保留精度保留小数点后一位。
使用JSON Simple,可按预期工作。