Skip to content

Auto add or remove json annotation plugin, such as gson SerializedName, fastjson JSONField, jackson JsonProperty. It also support java and kotlin file.

License

Notifications You must be signed in to change notification settings

LiushuiXiaoxia/SerializedNameGen

Repository files navigation

Gson SerializedName Gen


GsonSerializedNameGen 是一个自动生成Gson SerializedName注解的插件。

IEDA插件仓库地址

插件下载地址

插件Github地址

介绍

有时候经常会维护一些老的项目,可能由于历史或开发人员能力问题,代码会稍微不规范。

比如在请求网络数据时会需要把json反序列化成实体,然后下面是常见的一种方式。

public class Bean {

    public String Name;

    public int max_age;
    
    public class InnerA {

        public String Name;

        public int max_age;
    }

    public static class InnerB {

        public String Name;

        public int max_age;
    }
}

上面的代码是很规范的,首先代码中字段名字命名规则是不满足驼峰规则的,其次需要添加json别名注解,比如常见的Gson,需要添加@SerializedName注解,否则不能进行代码混淆。

一些有强迫症的程序员就会手动修改这些代码,但是是历史代码,可能一不小心就改坏了,修改需要一定的工作量,并且是重复劳动的工作,那么此工具就是干这样的事情的,使用工具优化后,就变成了下面样子。

public class Bean {

    @SerializedName("Name")
    public String Name;

    @SerializedName("max_age")
    public int max_age;
    
    public class InnerA {

        @SerializedName("Name")
        public String Name;

        @SerializedName("max_age")
        public int max_age;
    }

    public static class InnerB {

        @SerializedName("Name")
        public String Name;

        @SerializedName("max_age")
        public int max_age;
    }
}

使用姿势

支持特性

  • 支持Gson SerializedName 注解添加与删除
  • 支持Fastjson JSONField 注解添加与删除
  • 支持Jackson JsonProperty 注解添加与删除
  • 支持Java & Kotlin语言

插件下载

IEDA插件仓库地址

插件下载地址

搜索 SerializedName Tool

插件安装

示例演示

示例演示

规则配置

示例演示

其他

第一个版本,实现有点仓促,如果有问题,欢迎交流,[email protected]

后续规划

  • 支持Kotlin语言
  • 支持删除某一种json序列化工具别名
  • 支持其他方式json序列化工具

其他工具

SerializedNameGen

AutoValueConvert

DatabindingConvert

日志

v0.8

  • 添加FirstUppercase生成规则
  • 生成规则
    • Origin
    • Uppercase
    • FirstUppercase
    • Lowercase
    • Underline
    • Smart

v0.7

  • 支持生成规则配置
  • 生成规则
    • Origin
    • Uppercase
    • Lowercase
    • Underline
    • Smart

v0.4

  • 支持Gson SerializedName 注解添加与删除
  • 支持Fastjson JSONField 注解添加与删除
  • 支持Jackson JsonProperty 注解添加与删除
  • 支持Java & Kotlin语言

v0.3

  • 支持 Gson SerializedName 的删除

v0.2

  • 优化代码

v0.1

  • 第一个版本,实现基本功能,支持添加Gson SerializedName

About

Auto add or remove json annotation plugin, such as gson SerializedName, fastjson JSONField, jackson JsonProperty. It also support java and kotlin file.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published