美文网首页好文章AndroidAndroid
JSon实体类快速生成插件 GsonFormat 1.2.2

JSon实体类快速生成插件 GsonFormat 1.2.2

作者: 轻微 | 来源:发表于2015-01-10 23:58 被阅读29316次

写在前头:本插件只适用 android studio和 Intellij IDEA 工具!!!

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

github
jetbrains
Android Arsenal
swift 版
Json 新视觉

版本更新说明

v1.2.2

  1. Support field type changes.
  • Support shortcut to open GsonFormat, default option + s (mac), alt + s (win)
  • Support for field name changes.
  • Support add the prefix field.
  • Support for multiple conversion library (Gson, Jackjson, FastJson, LoganSquare).
  • Support private and public modes.
  • Support Filter superclass an existing fields.
    版本1.3.0

版本1.2.2

  1. 支持 field 类型的修改.
  • 支持快捷键打开 GsonFormat ,默认为 option+s(mac), alt+s(win)
  • 支持 field 名称的修改.
  • 支持添加 field 前缀.
  • 支持多种转换库 (Gson,Jackjson,FastJson,LoganSquare).
  • 支持 private 和 public 两种模式.
  • 支持过滤父类已有属性.

安装方法##

方法1:

1.Android studio  
 File->Settings..->Plugins-->Browse repositores..搜索GsonFormat
2.安装插件,重启android studio

方法2: 下载地址

     1.下载 GsonFormat.jar ,
     2.Android studio  File->Settings..->Plugins -->
 install plugin from disk..导入下载的 GsonFormat.jar ,
     3重启 android studio .

打开方法##

  1. 使用Generate的快捷键.
    快捷键:图中选中的部分
    Generate快捷键.png
    我这边的快捷键是 command+n;
  • 使用 GsonFommat 的快捷键.
    默认 option + s (mac), alt + s (mac)
    通过以下方式修改快捷键:
    修改快捷键.png

使用截图

gsonFormat.gif

相关文章

网友评论

  • 马拉松Mara:很好很强大
  • 47fe3088500c:编程开发真是俗手累死 高手闲死 试了下不到一分钟生成了一个1000行的实体类 3行代码和Gson库对接起来 全部就自动化完成了 表示根本没看JSON的格式 有点吓人 这效率 嗖嗖嗖的 Google 地球最强
  • 7ef5e6a31505:作者这个插件很不错,可惜了不支持date类型的
    轻微:@7ef5e6a31505 来尝试实现一把. 提个pr 过来呗.
  • 58c03b8dd9d5:楼主你好 我这边写了个模板,把判空操作,以及注解,和一些防止创建多余对象的编码实践,都可以固化到模板中,看了下评论列表大家也有类似的需求,有兴趣可以对接下,这是github地址,多多支持 https://github.com/Gyappy/GetterAndSetterTemplate
  • 58c03b8dd9d5:你好 请教下 请问这个插件如何自定义getter/setter的模板。看样子你的内部应该直接使用的系统默认的模板,我自己写了个模板,怎么和这东西对接下呢?
  • bfdd5204a1df:你好,有个小问题。当返回值为null时,默认类型为Object,无法修改为其他类型
    轻微:@imbaymax 算是一个bug
  • 轻微:这周末要出一个新的版本了。
    58c03b8dd9d5:@cvite 这种判空操作,以及注解,和一些防止创建多余对象的编码实践,都可以固化到模板中,不知楼主这个插件能否自定义模板。
    轻微:@cvite 你这样的做法应该是不提倡的。 你这样怎么判断是返回为空字符串还是空。 不太建议做这样的处理。 像你这种情况可以在声明的时候给默认值得。
    cvite:@轻微 有一个这样的地方不知道插件做起来麻烦与否,就是很多时候后端返回的数据总是可能存在null的情况,能否在Format的时候自定对get方法加上空判断,且自动创建对象呢。
    例如:
    public String getXX(){
    String result=xX;
    if(result==null){
    result=new String();
    }
    return result;
    }
    这样外部就不会报空指针了,蛋疼= = :sob:
  • wmszhe:不支持Date类型的吗?
    轻微:@weee 是
  • cvite:提交一个bug,当为一个结构复杂的json的时候,如果我选择局部的生成bean的话,无法生成出来
    轻微:@cvite 收到
  • cvite:希望能对生成的bean增加空判断处理,为空的话返回一个默认的数据类型,通过设置来进行设置某种类型的默认类型 :smiley:
  • 考拉冰阔落:哥我java一直学的很迷茫,感觉就是搬砖,深入不到重点,求指导
  • 轻微:我要更新 1.2.2 版, 修修补补版
  • Alien的小窝:使用gsonformat转换json为实体(带有内部类的), 然后 Gson gson = new Gson();
    News news = gson.fromJson(jsonString, News.class); 为什么不行????
    Alien的小窝: @轻微 是我弄错了。gson生成实体 后 弄错了json字符串。张冠李戴了
    轻微:@编程之乐 报什么错误?
  • 88469d3c0f08:你好 请问这种Json怎么使用Gson解析呢
    {
    "0": {
    "hottime": "2015-11-09",
    "title": "我们有以后吗",
    "description": "分享每一天",
    "picUrl": "http://zxpic.gtimg.com/infonew/0/wechat_pics_-2331689.jpg/640",
    "url": "http://mp.weixin.qq.com/s?__biz=MzA4MDA2NjcxMg==&idx=3&mid=400339943&sn=0c3a5775919dc96a83631059e6236279"
    },
    "1": {
    "hottime": "2015-11-08",
    "title": "在路上,我们一直在努力",
    "description": "汽车912",
    "picUrl": "http://zxpic.gtimg.com/infonew/0/wechat_pics_-2327577.jpg/640",
    "url": "http://mp.weixin.qq.com/s?__biz=MjE1MjMwMzM4MQ==&idx=6&mid=400588707&sn=59fc61e50ebfe14bb27931b4bbf758c6"
    },
    "2": {
    "hottime": "2015-11-08",
    "title": "习大大,你让我们都想辞职去重庆!",
    "description": "重庆",
    "picUrl": "http://zxpic.gtimg.com/infonew/0/wechat_pics_-2320913.jpg/640",
    "url": "http://mp.weixin.qq.com/s?__biz=MjM5NjAxNjY4MA==&idx=1&mid=400567020&sn=ec96ff7d12a604c5c95d76810b77bbf0&qb_mtt_show_type=1"
    },
    "code": 200,
    "msg": "ok"
    }
    轻微:@一只叫扁食的猫1993 或者在解析完列出的列表,手动去修改不符合项
    轻微:@一只叫扁食的猫1993 因为你使用了纯数字当key 所以要设置field的前缀,和启用use serilizedname。
  • 542c5b26283d:很好很强大
    轻微:@AzusaL 😊
  • 轻微:新增处女座模式(virgo mode) :smiley:
    轻微:@Glanms 支持自定义每个Filed 的名称.粗糙的我是不care 这些
    1ff5f0e80448:@轻微 怎么理解。。。
  • 轻微:下个版本1.2 会是一个较为完善的版本.将会是一个可以不更新好久的一个版本..
  • 轻微:@BlackSwift pojo数据不需要混淆

本文标题:JSon实体类快速生成插件 GsonFormat 1.2.2

本文链接:https://www.haomeiwen.com/subject/jonfxttx.html