在开发中,经常会有这样的场景,给一个 JSON 例子,然后定义成对象类,来和前端进行联调测试,如果 Json 很长,会浪费很多时间在编写对象类上。
接下来推荐一款 IDEA 的插件:GsonFormatPlus(基于 GsonFormat 做的二次开发)。
一、插件安装
IDEA的插件安装非常简单,对于很多插件来说,只要你知道插件的名字就可以在IDEA里面直接安装。
File->Settings->Plugins—>查找所需插件—>Install 或者
File->Settings->Plugins—>Install plug from disk —>选择下载好的插件安装
一般插件安装之后重启IDEA即可生效。
二、使用GsonFormatPlus插件生成代码
使用下面Json 来进行测试:
{
\"name\": \"马云\",
\"gender\": \"male\",
\"age\": 18,
\"height\": \"170cm\",
\"addr\": {
\"province\": \"浙江\",
\"city\": \"杭州\",
\"code\": \"300000\"
},
\"hobby\": [
{
\"name\": \"人民币\",
\"code\": \"1\"
},
{
\"name\": \"美元\",
\"code\": \"2\"
}
]
}
在 IDEA 中依次点击 Code -> Generate -> GsonFormatPlus,如图所示:
也可以直接使用快捷键 Alt(Option)+S 来生成代码,使用界面如下所示:
在左侧输入 JSON,然后可以根据自己的需要在 Setting 中进行设置,如图所示:
比如是否使用 Lombok,是否使用注释,字段的修饰符选择等,大家可以自己去尝试下。
如图所示,点击 【OK】按钮进行代码生成。
三、简单测试
在生成代码的基础上,编写如下代码进行简单测试,代码如下所示:
@lombok.NoArgsConstructor
@lombok.Data
public class App
{
private String name;
private String gender;
private Integer age;
private String height;
private AddrDTO addr;
private List<HobbyDTO> hobby;
public static void main(String[] args )
{
System.out.println( \"Hello World!\" );
App app = new App();
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);
}
@lombok.AllArgsConstructor
@lombok.Data
public static class AddrDTO {
private String province;
private String city;
private String code;
}
@lombok.AllArgsConstructor
@lombok.Data
public static class HobbyDTO {
private String name;
private String code;
}
}
输出结果如下所示:
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)])