有关fastjson输出的时候double不输出后面.0的问题
2015-11-24 19:46
609 查看
最近用fastjson遇到一个很纠结的问题
当用JSON.toJSONString要打印{id:1.0}的时候fastjson会打印{id:1}
后面的.0就这么被他给剪了
追踪源码发现在
com.alibaba.fastjson.serializer.DoubleSerializer的write方法中会有这么一段代码
不知道作者的用意是什么,但是这个.0小弟需要他显示出来
解决方法如下:
当用JSON.toJSONString要打印{id:1.0}的时候fastjson会打印{id:1}
后面的.0就这么被他给剪了
追踪源码发现在
com.alibaba.fastjson.serializer.DoubleSerializer的write方法中会有这么一段代码
doubleText = Double.toString(doubleValue); if (doubleText.endsWith(".0")) { doubleText = doubleText.substring(0, doubleText.length() - 2); }
不知道作者的用意是什么,但是这个.0小弟需要他显示出来
解决方法如下:
JSONObject js2 = new JSONObject(); js2.put("dou", 1.0); ValueFilter filter = new ValueFilter() { @Override public Object process(Object object, String name, Object value) { if (value instanceof BigDecimal || value instanceof Double || value instanceof Float) { return new BigDecimal(value.toString()); } return value; } }; String str = JSON.toJSONString(js2, filter, new SerializerFeature[0]);
相关文章推荐
- BZOJ1012: [JSOI2008]最大数maxnumber
- javascript模块化编程二(AMD规范)
- javascript模块化编程一
- 南大软院大神养成计划--js
- JavaScript学习之路10_箭头函数
- DOM-JavaScript
- js控制元素隐藏显示,显示时不用display=block
- Servlet/JSP
- js 语法
- js 语法
- Alt.js的入门
- javascript变量作用域
- crawler:简要了解一下PhantomJS
- 七、JavaScript字符串
- js设置时分秒插件
- 六、JavaScript函数
- 五、JavaScript对象
- c3.js 文档翻译(二)
- 四、JavaScript注释
- JSP 入门