侧边栏壁纸
博主头像
孔子说JAVA博主等级

成功只是一只沦落在鸡窝里的鹰,成功永远属于自信且有毅力的人!

  • 累计撰写 352 篇文章
  • 累计创建 135 个标签
  • 累计收到 10 条评论

目 录CONTENT

文章目录

IDEA JSON格式化插件 GsonFormatPlus 的安装配置与使用

孔子说JAVA
2022-11-12 / 0 评论 / 0 点赞 / 44 阅读 / 3,185 字 / 正在检测是否收录...
广告 广告

GsonFormat 插件是超级实用的一个插件,主要用于JSON字符串与Java实体类的相互转换。在我们对接第三方接口时,常常需要将对方返回的JSON转为实体类,非常繁琐。使用 GsonFormat 插件后,我们只需要创建一个类,然后把要转换的json字符串复制进去,点击OK它就会给我们生成相应的实体类(同时可以调整生成参数的类型),即一键根据json文本生成java类。

1303496-7759ce753c067164

1、安装方式

1.1 在线安装方式

第一种方式,是在IDEA上搜索插件进行安装,会适配当前IDEA的版本。打开File -> Settings 界面,在左侧列表中找到 Plugins 菜单,在右侧的 Marketplace 页签下,搜索 “GsonFormatPlus”,可以找到 GsonFormatPlus 插件,如下图所示,点击 Install 进行安装即可。

image-1667868947098

1.2 离线安装方式

第二种安装方式是使用离线插件进行安装。插件下载页面:https://plugins.jetbrains.com/idea ,在搜索框中输入插件名称 “GsonFormatPlus” 搜索,点击出现的下拉提示,即可进入插件下载页面,选择对应安装版本下载即可。

image-1667868792921

下载完成后,进入插件市场,选择本地安装

同样是在 Settings 界面,在左侧列表中找到 Plugins 菜单,在右侧的 Installed 页签右方有个齿轮图标,点击展开菜单后选择 “Install Plugin from Disk…”,此时会打开本地文件选择框,选择你下载的插件包安装即可。

安装完成后重启IDEA。

2、插件的配置和使用

  1. 在idea中新建一个java类 JsonToBean,该类中不需要写任何代码。

image-1667869187916

  1. 准备转换成java类的json字符串,我们可以使用下面 Json 来进行测试:
{
    "name": "马云",
    "gender": "male",
    "age": 18,
    "height": "170cm",
    "addr": {
        "province": "浙江",
        "city": "杭州",
        "code": "300000"
    },
    "hobby": [
        {
            "name": "人民币",
            "code": "1"
        },
        {
            "name": "美元",
            "code": "2"
        }
    ]
}
  1. 进入设置页面

鼠标点击我们新建的java类 JsonToBean,在 IDEA 中依次点击菜单 Code -> Generate,这时候会弹出一个菜单窗口:

image-1667869509204

这时我们点击 GsonFormatPlus,进入设置页面。

  • 也可以直接使用快捷键 Alt + S (windows平台),option + S (mac平台),来生成代码

image-1667869688922

  1. 进行设置并生成java类

在左侧输入我们刚才准备好的 JSON 字符串,然后可以根据自己的需要在 Setting 中进行设置,如图所示:

image-1667869836973

比如是否使用 Lombok,是否使用注释,字段的修饰符选择等,大家可以自己去尝试下。然后点击 【OK】按钮进入java类属性设置页面。此时会弹出一个新的对话框,列出了json字符串中的每个属性到java类属性的映射关系、字段类型等。

image-1667870016403

可以修改java类的数据类型和字段名称,如下图,双击age属性对应的Data Type,这时候该类型为可编辑状态,将原来的类型Integer改为int,鼠标离开这个焦点即可完成修改,同理也可以修改对应的字段名称,如可以将age改为age1。

image-1667870143457

最后点击 【OK】按钮进行代码生成。

  1. 生成的java类如下
/**
 * json转java实体类
 *
 * @Author kongzi
 * @Date 2022/11/8 08:59
 * @Version 1.0
 */
@lombok.NoArgsConstructor
@lombok.Data
public class JsonToBean {

    @JsonProperty("name")
    private String name;
    @JsonProperty("gender")
    private String gender;
    @JsonProperty("age")
    private int age;
    @JsonProperty("height")
    private String height;
    @JsonProperty("addr")
    private AddrDTO addr;
    @JsonProperty("hobby")
    private List<HobbyDTO> hobby;

    @lombok.NoArgsConstructor
    @lombok.Data
    public static class AddrDTO {
        @JsonProperty("province")
        private String province;
        @JsonProperty("city")
        private String city;
        @JsonProperty("code")
        private String code;
    }

    @lombok.NoArgsConstructor
    @lombok.Data
    public static class HobbyDTO {
        @JsonProperty("name")
        private String name;
        @JsonProperty("code")
        private String code;
    }
}
  1. 测试

我们可以在该类中加入main方法进行测试,如下:

    public static void main(String[] args) {
        System.out.println("Hello World!");
        JsonToBean app = new JsonToBean();
        app.name = "马云";
        app.gender = "male";
        app.addr = new AddrDTO("浙江", "杭州", "001");
        app.hobby = new ArrayList();
        app.hobby.add(
                new HobbyDTO("人民币", "RMB")
        );
        app.hobby.add(
                new HobbyDTO("美元", "USD")
        );
        System.out.println(app);
    }

输出结果如下:

Hello World!

App(name=马云, gender=male, age=null, height=null, addr=App.AddrDTO(province=浙江, city=杭州, code=001), hobby=[App.HobbyDTO(name=人民币, code=RMB), App.HobbyDTO(name=美元, code=USD)])
0

评论区