关于JSONObject to Map 数字太大被转成科学计数法的问题

在项目中遇到一个转换json的问题:
String json = "{'aa':"123456789.1234",'bb':123456789.1234}";
Map<String,Object> jsonMap = JSONObject.fromObject(json);

问题就是转换之后出现了如下结果:

{aa=123456789.1234, bb=1.23456792E8}

用的是net.sf.json。看了下api和JSONObject类,然而并没有什么好方法(可能是看不懂),如果是转成bean的话,可能就好处理,但是方法是通用方法,不能转bean。所以找其他方法吧。

方法一:com.alibaba.fastjson.JSONObject 阿里的json包。

JSONObject json = (JSONObject) JSONObject.parse(jsonStr);

方法二:谷歌Gson包

Map<String,String> jsonMap = new Gson().fromJson(str,new TypeToken<Map<String,String>>(){}.getType());

每一个弱智的问题,背后都有着一大堆的技术点。

你可能感兴趣的:(技术,开发问题,各种报错)