導航:首頁 > 編程語言 > jsonlong類型轉換

jsonlong類型轉換

發布時間:2023-09-21 02:23:17

A. JAVA如何進行強制類型轉換

如果這2種類型是兼容的,那麼Java 將自動地進行轉換。

B. Gson默認將int和long型數據轉換為double

你為什麼要這么搞呢,搞一個結構體把所有的屬性包括進去就行了。不要用object。這個和你直接使用map存有啥區別。給你個例子:

Gson gson = new Gson();
Foo foo = new Foo();
Foo foo2 = new Foo();
foo.setBar(2);
foo.setFoo(211);
System.out.println(gson.tojson(foo));

String sss = "{\"foo\":211,\"bar\":2}";
foo2 = gson.fromJson(sss, Foo.class);
System.out.println(foo2.getBar());
System.out.println(foo2.getFoo());

C. python json怎麼修改json數據

Json簡介:Json,全名 JavaScript Object Notation,是一種輕量級的數據交換格式。Json最廣泛的應用是作為AJAX中web伺服器和客戶端的通訊的數據格式。現在也常用於http請求中,所以對json的各種學習,是自然而然的事情。Python的官網網址:https://docs.python.org/2/library/json.html?highlight=json#mole-json

Json API 使用:python在版本2.6之前,是需要先下載包,安裝後才能使用的,有點類似現在的RF內使用SeleniumLibrary一樣。但是在2.6中,官方文檔(https://docs.python.org/2.6/whatsnew/2.6.html)明顯指出,「有一些重要的新的軟體包添加到了標准庫,比如multiprocessing 和json,但是跟python 3比,2.6的這些包不會引進更多的新功能。"於是安裝python2.6以上版本的童鞋,可以不需要下載json包,直接在所需的地方就import json 即可使用,在安裝目錄下的Lib 下,看到這兩個包(點進去仔細閱讀這些源碼,會有更多的收獲,)如下文所示:

D. 怎麼將long類型轉換為string類型

一、問題描述
最近在改造內部管理系統的時候, 發現了一個巨坑,就是前端 JS 在獲取後端 Long 型參數時,出現精度丟失!

起初,用 postman 模擬介面請求,都很正常,但是用瀏覽器請求的時候,就出現問題了!

問題復現

打開瀏覽器,請求介面,結果如下!

用 postman 模擬介面請求,結果如下!

剛開始的時候,還真沒發現這個坑,結果當進行測試的時候,才發現前端傳給後端的ID,與資料庫中存的ID不一致,才發現 JavaScript 還有這個天坑!

由於 JavaScript 中 Number 類型的自身原因,並不能完全表示 Long 型的數字,在 Long 長度大於17位時會出現精度丟失的問題。

當我們把上面的用戶 ID 改成 19 位的時候,我們再來看看瀏覽器請求返回的結果。

瀏覽器請求結果!

當返回的結果超過17位的時候,後面的全部變成0!

二、解決辦法
遇到這種情況,應該怎麼辦呢?

第一種辦法:在後台把 long 型改為String類型,但是代價有點大,只要涉及到的地方都需要改
第二種辦法:使用工具進行轉化把 long 型改為String類型,這種方法可以實現全局轉化(推薦)
第三種辦法:前端進行處理(目前沒有很好的辦法,不推薦)
因為項目涉及到的代碼非常多,所以不可能把 long 型改為 String 類型,而且使用 Long 類型的方法非常多,改起來風險非常大,所以不推薦使用!

最理想的方法,就是使用aop代理攔截所有的方法,對返回參數進行統一處理,使用工具進行轉化,過程如下!

2.1、Jackson 工具序列化對象
我們可以使用Jackson工具包來實現對象序列化。

首先在 maven 中添加必須的依賴

編寫一個轉化工具類JsonUtil

緊接著,編寫一個實體類Person,用於測試

最後,我們編寫一個測試類測試一下效果

輸出結果如下:

其中最關鍵一行代碼,是注冊了這個轉換類,從而實現將所有的 long 變成 string。

如果想對某個日期進行格式化,可以全局設置。

也可以,單獨對某個屬性進行設置,例如對createTime屬性格式化為yyyy-MM-dd,只需要加上如下註解即可。

工具轉化類寫好之後,就非常簡單了,只需要對 aop 攔截的方法返回的參數,進行序列化就可以自動實現將所有的 long 變成 string。

2.2、SpringMVC 配置
如果是 SpringMVC 項目,操作也很簡單。

自定義一個實現類,繼承自ObjectMapper

在 SpringMVC 的配置文件中加上如下配置

2.3、SpringBoot 配置
如果是 SpringBoot 項目,操作也類似。

編寫一個WebConfig配置類,並實現自WebMvcConfigurer,重寫configureMessageConverters方法

三、總結
在實際的項目開發中,很多服務都是純微服務開發,沒有用到SpringMVC,在這種情況下,使用JsonUtil工具類實現對象序列化,可能是一個非常好的選擇。

閱讀全文

與jsonlong類型轉換相關的資料

熱點內容
滴滴app沒有什麼功能 瀏覽:493
機器人喝編程到底該學哪個 瀏覽:704
買房哪個網站好 瀏覽:913
打完新冠疫苗下載什麼app可以查到 瀏覽:879
海信電視用哪個app看網路電視 瀏覽:96
編程什麼時候流行的 瀏覽:683
自學編程新手看什麼書 瀏覽:180
linux全盤tar 瀏覽:454
ps文件命名自動輸入怎麼辦 瀏覽:467
iphone6plus切圖 瀏覽:822
iphone6沒有提示更新 瀏覽:41
cc網路圖教程 瀏覽:650
u盤無法剪切文件到電腦里 瀏覽:497
中海達靜態數據大概多少內存 瀏覽:599
蘋果6s手機文件管理器 瀏覽:107
qq頭像非主流女生捂臉 瀏覽:736
java判斷string編碼 瀏覽:941
excel工資簿如何匹配相同數據 瀏覽:159
視頻課程學習有哪些app 瀏覽:375
鐵模編程怎麼學 瀏覽:298

友情鏈接