1. 程式人生 > >關於JSONObject to Map 數字太大被轉成科學計數法的問題

關於JSONObject to Map 數字太大被轉成科學計數法的問題

1.在專案中遇到一個轉換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());

每一個弱智的問題,背後都有著一大堆的技術點。