JSon实体类快速生成插件 GsonFormat 1.2.0
2015-12-16 17:27
274 查看
写在前头:本插件只适用 android studio和 Intellij IDEA 工具,eclipse 的少年无视我吧!!!
这是一个根据JSONObject格式的字符串,自动生成实体类参数.
github
jetbrains
版本1.2.0
1.2.0 版本更新内容:
新增处女座模式 →_→
修复List 泛型错误的问题;
支持 自定义 Filed Name 前缀
支持除Gson数据转换库 (eg: Jackson, FastJson)
版本1.1.3
1.1.3 版本更新内容:
内部类使用 static 修饰;
生成属性的时候会过滤父类的属性;
支持修改实体类的后缀名,保持跟项目命名规则的统一;
支持自动生成转换方法;
支持转换方法的修改;
支持是否复用内部实体类,默认不启用;
支持转换异常的异常信息查看;
版本1.1.2
1.1.2 版本更新内容:
修复了开启对话框会闪一下的 bug;
增加了设置界面;
增加了使用Public 修饰成员变量,替代 private 和 set/get 方法.默认为 private ,可以手动切换过来;
支持全部变量用注解(SerializedName)的形式.然后你就可以混淆实体类.
版本1.1.1
1.1.1版本更新内容
修复了因为过滤//注释代码导致的出现的 Json 格式验证异常;
支持解析 java 的关键字作为 key (支持字段:
default,abstract,null,final,void,implements,
this,instanceof,native,new,goto,const,volatile,return,finally)其余暂不支持;
版本1.1.0
1.1.0 版本更新内容:
支持数组中嵌套数组的解析;
支持过滤Json格式中的注释代码.
安装方法2:
快捷键:图中选中的部分
72350A47-A21A-4505-817E-2CA8092F7B7D.png
我这边的快捷键是 command+n;
1.2.0 .gif
简单的.gif
图中简单的 json 格式
图中的实体类
复杂的实体类:
实体类不仅包含另外一个实体,还包含另外实体的数组.
复杂.gif
图中复杂的json 格式
图中的实体类
1.1.1的过滤注释功能讲解:
支持 java 两种注释过滤:
例子:
这样它也是可以解析的.
这是一个根据JSONObject格式的字符串,自动生成实体类参数.
github
jetbrains
版本1.2.0
1.2.0 版本更新内容:
新增处女座模式 →_→
修复List 泛型错误的问题;
支持 自定义 Filed Name 前缀
支持除Gson数据转换库 (eg: Jackson, FastJson)
版本1.1.3
1.1.3 版本更新内容:
内部类使用 static 修饰;
生成属性的时候会过滤父类的属性;
支持修改实体类的后缀名,保持跟项目命名规则的统一;
支持自动生成转换方法;
支持转换方法的修改;
支持是否复用内部实体类,默认不启用;
支持转换异常的异常信息查看;
版本1.1.2
1.1.2 版本更新内容:
修复了开启对话框会闪一下的 bug;
增加了设置界面;
增加了使用Public 修饰成员变量,替代 private 和 set/get 方法.默认为 private ,可以手动切换过来;
支持全部变量用注解(SerializedName)的形式.然后你就可以混淆实体类.
版本1.1.1
1.1.1版本更新内容
修复了因为过滤//注释代码导致的出现的 Json 格式验证异常;
支持解析 java 的关键字作为 key (支持字段:
default,abstract,null,final,void,implements,
this,instanceof,native,new,goto,const,volatile,return,finally)其余暂不支持;
版本1.1.0
1.1.0 版本更新内容:
支持数组中嵌套数组的解析;
支持过滤Json格式中的注释代码.
Usage
安装方法1:1.Android studio File->Settings..->Plugins-->Browse repositores..搜索Gson 2.安装插件,重启android studio
安装方法2:
1.下载GsonFormat.jar ; 2.Android studio File->Settings..->Plugins --> install plugin from disk..导入下载的GsonFormat.jar 3重启android studio
使用方式
在实体类中使用Generate的快捷键.快捷键:图中选中的部分
72350A47-A21A-4505-817E-2CA8092F7B7D.png
我这边的快捷键是 command+n;
1.2.0 截图
1.2.0 .gif
简单的实体类:
简单的.gif
图中简单的 json 格式
{ "name": "王五", "gender": "man", "age": 15, "height": "140cm", }
图中的实体类
** * Created by 轻微 on 15/1/9. */ public class Bean { /** * height : 140cm * age : 15 * name : 王五 * gender : man */ private String height; private int age; private String name; private String gender; public void setHeight(String height) { this.height = height; } public void setAge(int age) { this.age = age; } public void setName(String name) { this.name = name; } public void setGender(String gender) { this.gender = gender; } public String getHeight() { return height; } public int getAge() { return age; } public String getName() { return name; } public String getGender() { return gender; } }
复杂的实体类:
实体类不仅包含另外一个实体,还包含另外实体的数组.
复杂.gif
图中复杂的json 格式
{ "name": "王五", "gender": "man", "age": 15, "height": "140cm", "addr": { "province": "fujian", "city": "quanzhou", "code": "300000" }, "hobby": [ { "name": "billiards", "code": "1" }, { "name": "computerGame", "code": "2" } ] }
图中的实体类
/** * Created by 轻微 on 15/1/9. */ public class Bean extends JSONModel { /** * height : 140cm * age : 15 * name : 王五 * hobby : [{"name":"billiards","code":"1"},{"name":"computerGame","code":"2"}] * gender : man * addr : {"province":"fujian","code":"300000","city":"quanzhou"} */ private String height; private int age; private String name; private List<HobbyEntity> hobby; private String gender; private AddrEntity addr; public void setHeight(String height) { this.height = height; } public void setAge(int age) { this.age = age; } public void setName(String name) { this.name = name; } public void setHobby(List<HobbyEntity> hobby) { this.hobby = hobby; } public void setGender(String gender) { this.gender = gender; } public void setAddr(AddrEntity addr) { this.addr = addr; } public String getHeight() { return height; } public int getAge() { return age; } public String getName() { return name; } public List<HobbyEntity> getHobby() { return hobby; } public String getGender() { return gender; } public AddrEntity getAddr() { return addr; } public class HobbyEntity { /** * name : billiards * code : 1 */ private String name; private String code; public void setName(String name) { this.name = name; } public void setCode(String code) { this.code = code; } public String getName() { return name; } public String getCode() { return code; } } public class AddrEntity { /** * province : fujian * code : 300000 * city : quanzhou */ private String province; private String code; private String city; public void setProvince(String province) { this.province = province; } public void setCode(String code) { this.code = code; } public void setCity(String city) { this.city = city; } public String getProvince() { return province; } public String getCode() { return code; } public String getCity() { return city; } } }
1.1.1的过滤注释功能讲解:
支持 java 两种注释过滤:
/**段注释: */ //行注释:
例子:
{ /** * 名字 */ "name": "王五", "gender": "man",//性别 "age": 15, "height": "140cm", }
这样它也是可以解析的.
相关文章推荐
- js深入研究之神奇的匿名函数类生成方式
- <转>js onload/onunload/onbeforeunload事件
- js replaceAll
- JSon解析
- JSTL 核心标签库
- 【学习笔记javascript设计模式与开发实践(代理模式)----6】
- jsp页面中jstl标签详解
- 理解Javascript的call、apply
- JavaScript基础学习<三>参数传递
- OAF调用JavaScript新开窗口
- JS隐藏HTML标签对象
- js中的$.ajax()方法详解
- 滚动到指定位置js
- js 类与constructor属性
- 去除url中讨厌的jssionid
- seajs版本号添加
- lazyload.js详解
- 跨域请求获取Solr json检索结果并高亮显示
- 用volley从网页获取json数据
- JSP 登录加注册