失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > IntelliJ IDEA开发工具插件GsonFormat插件安装使用

IntelliJ IDEA开发工具插件GsonFormat插件安装使用

时间:2022-03-28 04:38:49

相关推荐

IntelliJ IDEA开发工具插件GsonFormat插件安装使用

今天给大家介绍一款很实用的GsonFormat插件,GsonFormat插件能够将我们的json格式数据生成对应的实体类,层级关系通过内部类来嵌套,这个工具有时候是很实用的,例如以前公司在对接第三方接口的时候,他们通常提供的入参形式是json形式,但是对于java来说,我们为了方便赋值和接收三方的值,要将其转成对象,所以这个时候我们就需要创建一个对象,但是如果json参数比较多,很容易出错,这个工具就用到了,完美解决我们的机械操作问题。下面来介绍如何安装以及如何使用。

安装插件

和安装其他插件方式相同,Mac在Preferences ->》plugins

输入GsonFormat,如下图所示,点击Install下载后点击OK,会提示重启,点击重新启动则可。

使用方式

先构造一个正确JSON格式数据,如下

{

"acIdttbPressFilterConfEntities": [],

"acIdttbPressNodeConfEntityList": [{

"acComTransRuleDefnEntity": {

"acComTransRuleDetailEntityList": [{

"detailSort": 1,

"effectiveTime": -9223372036854776000,

"exeConditionExps": "",

"expirationTime": 9223372036854776000,

"ruleDefnId": 529,

"targetPath": ""

}, {

"detailSort": 2,

"effectiveTime": -9223372036854776000,

"exeConditionExps": "",

"expirationTime": 9223372036854776000,

"ruleDefnId": 529,

"targetPath": "",

"targetValueExps": ""

}],

"effectiveTime": -9223372036854776000,

"expirationTime": 9223372036854776000,

"id": 529

},

"comTransRuleDefnId": 529,

"effectiveTime": -9223372036854776000,

"expirationTime": 9223372036854776000,

"id": 1240,

"nodeType": "common_transfer_rule",

"pressId": 361,

"stdBillOper": "",

"stdBillType": ""

}],

"id": 361,

"pressColId": 0,

"pressToNormalFunctionBean": "",

"runInStyles": 2,

"taskId": 0

}

新建一个类:CurrentRecognised,该插件有快捷键,Mac是option + s 即可弹出下面框,但是如果你本身工具已经存在该快捷键,那么可以该快捷键会失效,这种情况下,要通过在该类中,右键,在弹出的对话框中选择Generate,选择点击后会弹出GET、SET等,我们选择GsonFormat,如下图

Format

将我们提前准备好的JSON数据,复制到框中,在对话框的右上角,还可以进行格式化

Setting

在右下角有个Setting按钮,点开后,弹出如下对话框

默认情况下Convert Library 选项是Other ,生成的对象是get set形式,我们可以选择其他选项,例如Lombok,那么会将生成的对象带有Lombok的形式,代码看起来比较整洁,其他选项大家自己体验吧,功能还是有一些的。点击Ok后

我们能修改字段类型、映射后的字段名称,例如我们将 第一个字段id 修改成newId,点击OK后,生成的代码如下

@NoArgsConstructor@Datapublic class CurrentRecognised {/*** acIdttbPressFilterConfEntities : []* acIdttbPressNodeConfEntityList : [{"acComTransRuleDefnEntity":{"acComTransRuleDetailEntityList":[{"detailSort":1,"effectiveTime":"-9223372036854776000","exeConditionExps":"","expirationTime":"9223372036854776000","ruleDefnId":529,"targetPath":""},{"detailSort":2,"effectiveTime":"-9223372036854776000","exeConditionExps":"","expirationTime":"9223372036854776000","ruleDefnId":529,"targetPath":"","targetValueExps":""}],"effectiveTime":"-9223372036854776000","expirationTime":"9223372036854776000","id":529},"comTransRuleDefnId":529,"effectiveTime":"-9223372036854776000","expirationTime":"9223372036854776000","id":1240,"nodeType":"common_transfer_rule","pressId":361,"stdBillOper":"","stdBillType":""}]* id : 361* pressColId : 0* pressToNormalFunctionBean : * runInStyles : 2* taskId : 0*/private int newId;private int pressColId;private String pressToNormalFunctionBean;private int runInStyles;private int taskId;private List<?> acIdttbPressFilterConfEntities;private List<AcIdttbPressNodeConfEntityListBean> acIdttbPressNodeConfEntityList;@NoArgsConstructor@Datapublic static class AcIdttbPressNodeConfEntityListBean {/*** acComTransRuleDefnEntity : {"acComTransRuleDetailEntityList":[{"detailSort":1,"effectiveTime":"-9223372036854776000","exeConditionExps":"","expirationTime":"9223372036854776000","ruleDefnId":529,"targetPath":"","targetValueExps":""},{"detailSort":2,"effectiveTime":"-9223372036854776000","exeConditionExps":"","expirationTime":"9223372036854776000","ruleDefnId":529,"targetPath":"","targetValueExps":""}],"effectiveTime":"-9223372036854776000","expirationTime":"9223372036854776000","id":529}* comTransRuleDefnId : 529* effectiveTime : -9223372036854776000* expirationTime : 9223372036854776000* id : 1240* nodeType : common_transfer_rule* pressId : 361* stdBillOper : * stdBillType : */private AcComTransRuleDefnEntityBean acComTransRuleDefnEntity;private int comTransRuleDefnId;private String effectiveTime;private String expirationTime;private int id;private String nodeType;private int pressId;private String stdBillOper;private String stdBillType;@NoArgsConstructor@Datapublic static class AcComTransRuleDefnEntityBean {/*** acComTransRuleDetailEntityList : [{"detailSort":1,"effectiveTime":"-9223372036854776000","exeConditionExps":"","expirationTime":"9223372036854776000","ruleDefnId":529,"targetPath":""},{"detailSort":2,"effectiveTime":"-9223372036854776000","exeConditionExps":"","expirationTime":"9223372036854776000","ruleDefnId":529,"targetPath":"","targetValueExps":""}]* effectiveTime : -9223372036854776000* expirationTime : 9223372036854776000* id : 529*/private String effectiveTime;private String expirationTime;private int id;private List<AcComTransRuleDetailEntityListBean> acComTransRuleDetailEntityList;@NoArgsConstructor@Datapublic static class AcComTransRuleDetailEntityListBean {/*** detailSort : 1* effectiveTime : -9223372036854776000* exeConditionExps : * expirationTime : 9223372036854776000* ruleDefnId : 529* targetPath : * targetValueExps : */private int detailSort;private String effectiveTime;private String exeConditionExps;private String expirationTime;private int ruleDefnId;private String targetPath;private String targetValueExps;}}}}

可以看到确实将id替换成了newId,这个插件在一些特定场合还是比较实用的,大家觉得如何呢

如果觉得《IntelliJ IDEA开发工具插件GsonFormat插件安装使用》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。