写在前头:本插件只适用 android studio和 Intellij IDEA 工具,eclipse 的少年无视我吧!!!

这是一个根据JSONObject格式的字符串,自动生成实体类参数.

github
jetbrains
版本1.2.0

1.2.0 版本更新内容:

  1. 新增处女座模式 →_→
  2. 修复List 泛型错误的问题;
  3. 支持 自定义 Filed Name 前缀
  4. 支持除Gson数据转换库 (eg: Jackson, FastJson)

版本1.1.3

1.1.3 版本更新内容:

  1. 内部类使用 static 修饰;
  2. 生成属性的时候会过滤父类的属性;
  3. 支持修改实体类的后缀名,保持跟项目命名规则的统一;
  4. 支持自动生成转换方法;
  5. 支持转换方法的修改;
  6. 支持是否复用内部实体类,默认不启用;
  7. 支持转换异常的异常信息查看;

版本1.1.2

1.1.2 版本更新内容:

  1. 修复了开启对话框会闪一下的 bug;
  2. 增加了设置界面;
  3. 增加了使用Public 修饰成员变量,替代 private 和 set/get 方法.默认为 private ,可以手动切换过来;
  4. 支持全部变量用注解(SerializedName)的形式.然后你就可以混淆实体类.

版本1.1.1

1.1.1版本更新内容

  1. 修复了因为过滤//注释代码导致的出现的 Json 格式验证异常;
  2. 支持解析 java 的关键字作为 key (支持字段:
    default,abstract,null,final,void,implements,
    this,instanceof,native,new,goto,const,volatile,return,finally)其余暂不支持;

版本1.1.0

1.1.0 版本更新内容:

  1. 支持数组中嵌套数组的解析;
  2. 支持过滤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",
}

这样它也是可以解析的.

JSon实体类快速生成插件 GsonFormat 1.2.0的更多相关文章

  1. 基于MVC4+EasyUI的Web开发框架经验总结(3)- 使用Json实体类构建菜单数据

    最近花了不少时间在重构和进一步提炼我的Web开发框架上,力求在用户体验和界面设计方面,和Winform开发框架保持一致,而在Web上,我主要采用EasyUI的前端界面处理技术,走MVC的技术路线,在重 ...

  2. 使用Json实体类构建菜单数据

    基于MVC4+EasyUI的Web开发框架经验总结(3)- 使用Json实体类构建菜单数据 最近花了不少时间在重构和进一步提炼我的Web开发框架上,力求在用户体验和界面设计方面,和Winform开发框 ...

  3. (转)基于MVC4+EasyUI的Web开发框架经验总结(3)- 使用Json实体类构建菜单数据

    http://www.cnblogs.com/wuhuacong/p/3669708.html 最近花了不少时间在重构和进一步提炼我的Web开发框架上,力求在用户体验和界面设计方面,和Winform开 ...

  4. 快速生成json实体类

    读取一个json文件,并与实体相对应: static void Main(string[] args) { string json = ""; FileStream fs = ne ...

  5. AndroidStudio中安装可自动生成json实体类的jar包

    第一步:安装gsonjar包, 这样gson包就下载好了.接下来安装能自动生成实体类的插件: 接下来不要忘了重启: 重启后,就可以通过自定义的快捷键 alt+shift+s来打开generate,从而 ...

  6. .NET平台开源项目速览(18)C#平台JSON实体类生成器JSON C# Class Generator

    去年,我在一篇文章用原始方法解析复杂字符串,json一定要用JsonMapper么?中介绍了简单的JSON解析的问题,那种方法在当时的环境是非常方便的,因为不需要生成实体类,结构很容易解析.但随着业务 ...

  7. Json实体类驼峰名称转化器

    背景 我们常用一些网站,将json转化成实体类.但不巧的是,这些自动生成的都是小驼峰.需要进一步的改成大驼峰+JsonProperty.接着同事说他已经有个工具了.我稍微简化了一下 方法 首先行分离. ...

  8. .net webapi 收不到json 实体类参数,返回的json中带有k__BackingField

    案例:实体类是从WCF项目中复制到webapi项目中,去掉了[DataContract],[DataMember],但[Serializable] 没去掉. 在ApiController 中,实体类输 ...

  9. ADO.NET 根据实体类自动生成添加修改语句仅限Oracle使用

    话不多说直接上代码,新手上路,高手路过勿喷,请多多指教. /// <summary> /// 等于号 /// </summary> ) + Convert.ToChar() + ...

随机推荐

  1. Xcode中的iOS工程模板

    1. Application类型 我们大部分的开发工作都是从使用Application类型模板创建iOS程序开始的.该类型共包含7个模板,具体如下所示. Master-Detail Applicati ...

  2. WIFI(1)WIFI直连 + socket 可以用来实现类似蓝牙传输数据的功能

    WIFI 直连简介 从Android4.0(API Level=14)开始,允许通过Wi-Fi模块在两个移动设备之间建立直接连接(这种技术称为Wi-Fi Direct),这种连接不需要无线路由作为中介 ...

  3. 【HDOJ】3473 Minimum Sum

    划分树解.主席树解MLE. /* 3473 */ #include <iostream> #include <sstream> #include <string> ...

  4. IT项目量化管理:细化、量化与图形化 与 中国IT项目实施困惑

    IT项目开发和实施的组织先后在组织中引入项目管理模型的管理制度.流程和方法,但收入甚微.大量的IT项目依然面临着无休止的需求蔓延与频繁加班.项目工期失控.质量低下等典型的项目失控现象.对项目引入量化意 ...

  5. [转] Windows下使用Python读取Excel表格数据

    http://www.python-excel.org/这个网站罗列了很多关于在Python下操作Excel文件的信息,这里选择了其介绍的第一个模块xlrd . xlrd 0.9.2版本跨平台同时支持 ...

  6. Windows 7/8 创建WIFI热点

    问题描述:很多人(特别是中国的大学生)都拥有一台联网的笔记本电脑,而手机使用的却是电信运营商提供的限制数量和速度的GPRS. 很多人不敢想象:联网的笔记本电脑能够将其流量以WiFi的形式共享出来供其它 ...

  7. Hive 接口介绍(Web UI/JDBC)

    Hive 接口介绍(Web UI/JDBC) 实验简介 本次实验学习 Hive 的两种接口:Web UI 以及 JDBC. 一.实验环境说明 1. 环境登录 无需密码自动登录,系统用户名shiyanl ...

  8. WEB架构师成长之路-架构师都要懂哪些知识 转

    Web架构师究竟都要学些什么?具备哪些能力呢?先网上查查架构师的大概的定义,参见架构师修炼之道这篇文章,写的还不错,再查查公司招聘Web架构师的要求. 总结起来大概有下面几点技能要求: 一. 架构师有 ...

  9. word2010中莫名出现灰色中括号解决方案

    灰色中括号[]是文中书签,解决方案: word 文件-选项-高级,在“显示文档内容”部分,去掉“显示书签”前面的勾选.

  10. 怎么找到MyEclipse->add struts capabilities

    问:MyEclipse:我的工程右键可以MyEclipse->add struts capabilities之前有,后来不知怎么就没有了,谁知道怎么弄出来是struts 答:你已经add过一次了 ...