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");           
      }
  }
posted @ 2019-06-18 12:51  doraemonlin  阅读(1872)  评论(0编辑  收藏  举报
Live2D
//页脚Html代码