今天在專案開發中發現了資料提交後台處理後,精度改變問題。在一陣除錯後,發現是json轉換出了問題。
需求是匯入乙個excel**,然後顯示內容,最後存到資料庫中。
讀入**時內容顯示:![正確資料](
然而儲存後:![錯誤資料](
資料236136.35變成了236136.34,而909178.19變成了909178.2。經過檢查發現並沒有對資料進行小數字的修改。原來都是json轉換的問題。
import net.sf
.json
.jsonobject
;import net.sf
.json
.jsonarray
; jsonarray jsonarray = jsonarray.fromobject(evn_rollingcosts);
經過這個轉換後,發現傳入的資料已經改變。
原來是net.sf.json下的json在轉換時,首先預設將資料轉換為float型別,在數字轉化成float型別時,已經發生錯誤。
然後,更換json包後,問題解決。
import com
.alibaba
.fastjson
.json
;import com
.alibaba
.fastjson
.jsonarray
;jsonarray jsonarray = jsonarray.parsearray(evn_rollingcosts);
具體內容請見:
java物件轉換為json字串
public static void main string args jsonarray jsonarray.fromobject temparry system.out.println jsonarray.tostring 列印出來的結果 a b c list轉換為json listtempli...
將物件轉換為JSON字串
一 引包 com.alibaba fastjson 1.2.31 二 測試方法 將物件轉化為json字串 test public void objecttojson 三 執行結果如下 diffobjectupdaterulesetlist relationobject objectname 電視 p...
Json字串轉換為JS物件方法
一般json字串轉換為js物件,都使用 var jsonstr var jsonobj eval jsonstr 今天學習jquery原始碼看到一下方法,原來還可以這樣解析json字串 parsejson function data make sure leading trailing whites...