Java编程经验——BigDecimal转换为Json发生截断
1、错误的示例如下:
Map<String,Object>map=new HashMap<String,Object>();
map.put("id",new BigDecimal("123456789"));
return json(map);
当转换为json数据时,{"id":123457000},id的值和原来的BigDecimal值不等。如果再用前端获取的值来反查数据数据时就会有问题,因为id值并不等于原来的123456789!
2、那这个问题是怎么产生的呢?其实是由于js对数据进行处理的时候,对数据进行了截断。要正确的处理,那么可以通过显示的把BigDecimal转化为String类型,在转化为json数据传给前端就ok了!
来看看具体用法吧:
Map<String,Object>map=new HashMap<String,Object>();
map.put("id",String.valueOf(new BigDecimal("123456789")));
return json(map);
通过String的valueOf方法显示的把值转化为String类型,就能避免前端的数据值截断问题了。
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:190
阅读量:194
阅读量:95
阅读量:143
阅读量:145