IDEA使用GsonFormat完成JSON和JavaBean之間的轉換


原文地址:https://www.leshalv.net/posts/12625/

前言:

  之前處理接口傳來的一堆數據,用jsonObject很難受,后面就用gosn來弄,配合這個工具體驗很好。

轉:

 最近一直在對接接口,上游返回的都是JSON數據,我們需要將這些數據進行保存,我們可以解析成Map通過key的方式進行獲取,然后set到實體類對象中,說到這里我開始想吐了,這樣就造成了代碼過多,沒有可讀性,如果有100個值,要get100次,set100次嗎?所以最簡單的方式是封裝成對象,通過對象操作工具進行對象中屬性值的映射,但是封裝對象過程又繁瑣了,屬性過多極大的浪費時間,記得初中歷史學過的一段話,人和動物最根本的區別就是會不會制造和使用工具,大神和菜鳥之間的差距也莫非如此,廢話不多說了,說說如何使用GsonFormat這個插件完成JSONJavaBean之間的轉換吧!

1.安裝GsonFormat

        Ctrl+Alt+S 打開設置界面,點擊Plugins ,點擊Browse repositories...

        在搜索框輸入GsonFormat,點擊Install安裝

        安裝成功后,點擊Restart IntelliJ IDEA重啟IDEA


2.使用GsonFormat

        首先建立一個類,Alt+S打開GsonFormat頁面,將你要轉換的JSON串復制進去,你可以點擊右上角Format格式化一下,然后點擊左下角OK

        彈出Virgo Model頁面,你可以選擇哪個不生成,選擇數據類型,定義屬性名稱,點擊OK

        Bean就這樣生成了,同時還生成了get()set()方法

3.如何調用

Gson gson1 = new Gson();
StationBean sta = gson1.fromJson(ret_parms, StationBean.class);
if(sta.getCode()==200){
  List<EntityBean> list = sta.getEntity();
}

4.gson jar包 :http://repo1.maven.org/maven2/com/google/code/gson/gson/ ,可以選2.8.5的,

 

 

----------------------------------------------------------------2019-12-30 更新 另一種更便捷的方法,但是數據大的時候不推薦-------------------------------------------------------

List<Map<String, Object>> maps = JSON.parseObject(res, new TypeReference<List<Map<String, Object>>>() {});   用這個可以不用寫javabean,也能容易分析數據

例子:

  String str = "{\"flag\": true,\"code\": 200,\"message\": \"操作成功\",\"entity\": [{\"aaa\": \"沙發上\",\"bbb\": 212312}]}";
   JSONObject retMap = JSONObject.parseObject(str);
   if(retMap.getString("code").equals("200")){
      String res = retMap.getString("entity");
      List<Map<String, Object>> maps = JSON.parseObject(res, new TypeReference<List<Map<String, Object>>>() {});
          for(Map result : maps){
             result.get("aaa");           
             result.get("bbb");           
      }
  }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM