JSon实体类快速生成插件 GsonFormat 1.2.0
写在前头:本插件只适用 android studio和 Intellij IDEA 工具,eclipse 的少年无视我吧!!!
这是一个根据JSONObject格式的字符串,自动生成实体类参数.
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的快捷键.
快捷键:图中选中的部分

我这边的快捷键是 command+n;
1.2.0 截图

简单的实体类:

图中简单的 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;
}
}
复杂的实体类:
实体类不仅包含另外一个实体,还包含另外实体的数组.

图中复杂的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的更多相关文章
- 基于MVC4+EasyUI的Web开发框架经验总结(3)- 使用Json实体类构建菜单数据
最近花了不少时间在重构和进一步提炼我的Web开发框架上,力求在用户体验和界面设计方面,和Winform开发框架保持一致,而在Web上,我主要采用EasyUI的前端界面处理技术,走MVC的技术路线,在重 ...
- 使用Json实体类构建菜单数据
基于MVC4+EasyUI的Web开发框架经验总结(3)- 使用Json实体类构建菜单数据 最近花了不少时间在重构和进一步提炼我的Web开发框架上,力求在用户体验和界面设计方面,和Winform开发框 ...
- (转)基于MVC4+EasyUI的Web开发框架经验总结(3)- 使用Json实体类构建菜单数据
http://www.cnblogs.com/wuhuacong/p/3669708.html 最近花了不少时间在重构和进一步提炼我的Web开发框架上,力求在用户体验和界面设计方面,和Winform开 ...
- 快速生成json实体类
读取一个json文件,并与实体相对应: static void Main(string[] args) { string json = ""; FileStream fs = ne ...
- AndroidStudio中安装可自动生成json实体类的jar包
第一步:安装gsonjar包, 这样gson包就下载好了.接下来安装能自动生成实体类的插件: 接下来不要忘了重启: 重启后,就可以通过自定义的快捷键 alt+shift+s来打开generate,从而 ...
- .NET平台开源项目速览(18)C#平台JSON实体类生成器JSON C# Class Generator
去年,我在一篇文章用原始方法解析复杂字符串,json一定要用JsonMapper么?中介绍了简单的JSON解析的问题,那种方法在当时的环境是非常方便的,因为不需要生成实体类,结构很容易解析.但随着业务 ...
- Json实体类驼峰名称转化器
背景 我们常用一些网站,将json转化成实体类.但不巧的是,这些自动生成的都是小驼峰.需要进一步的改成大驼峰+JsonProperty.接着同事说他已经有个工具了.我稍微简化了一下 方法 首先行分离. ...
- .net webapi 收不到json 实体类参数,返回的json中带有k__BackingField
案例:实体类是从WCF项目中复制到webapi项目中,去掉了[DataContract],[DataMember],但[Serializable] 没去掉. 在ApiController 中,实体类输 ...
- ADO.NET 根据实体类自动生成添加修改语句仅限Oracle使用
话不多说直接上代码,新手上路,高手路过勿喷,请多多指教. /// <summary> /// 等于号 /// </summary> ) + Convert.ToChar() + ...
随机推荐
- R语言学习笔记:取数据子集
上文介绍了,如何生成序列,本文介绍一下如何取出其数据子集 取出元素的逻辑值 > x<-c(0,-3,4,-1,45,90,5) > x>0 [1] FALSE FALSE T ...
- 如何提高Web服务端并发效率的异步编程技术
作为一名web工程师都希望自己做的web应用能被越来越多的人使用,如果我们所做的web应用随着用户的增多而宕机了,那么越来越多的人就会变得越来越少了,为了让我们的web应用能有更多人使用,我们就得提升 ...
- python学习笔记三--字典
一.字典: 1. 不是序列,是一种映射, 键 :值的映射关系. 2. 没有顺序和位置的概念,只是把值存到对应的键里面. 3. 通过健而不是通过偏移量来读取 4. 任意对象的无序集合 5. 可变长,异构 ...
- C语言计算程序运行时间
#include<stdio.h>#include<stdlib.h> #include "time.h" int main( void ) { ...
- UVa 1152 (中途相遇法) 4 Values whose Sum is 0
题意: 要从四个数组中各选一个数,使得这四个数之和为0,求合法的方案数. 分析: 首先枚举A+B所有可能的值,排序. 然后枚举所有-C-D的值在其中用二分法查找. #include <cstdi ...
- 常用WEB服务器的特点介绍
经过系统的学习web服务器,现在知道常用的web服务器的优缺点,这对搭建网站架构时选择使用web服务器很有帮助,现在我简单总结一下: 1. Apache:属于重量级web服务器(重量级主要是在软件包的 ...
- PopupWindow-弹窗的界面
1 效果图 2 知识点 PopupWindow(View contentView, int width, int height) //创建一个没有获取焦点.长为width.宽为height,内容为 ...
- xss(跨站脚本攻击),crsf(跨站请求伪造),xssf
我们常说的网络安全其实应该包括以下三方面的安全: 1.机密性,比如用户的隐私被窃取,帐号被盗,常见的方式是木马. 2.完整性,比如数据的完整,举个例子,康熙传位十四子,被当时四阿哥篡改遗诏:传位于四子 ...
- ↗☻【编写可维护的JavaScript #BOOK#】第4章 变量、函数和运算符
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8& ...
- WCF 学习总结2 -- 配置WCF
前面一篇文章<WCF 学习总结1 -- 简单实例>一股脑儿展示了几种WCF部署方式,其中配置文件(App.config/Web.config)都是IDE自动生成,省去了我们不少功夫.现在回 ...