Java程序员的好工具:通过json生成javabean(pojo)

向大家介绍我开发的一款工具,json-to-java.它可以帮助java程序员,通过json生成对应的javabean。当你需要调用json返回格式的api时,该工具特别有用。

功能介绍

我们开发的java系统,经常需要调用其他系统的API。这些API的返回格式,往往都是json格式。这个小工具,可以帮助你把json格式的数据,转换成对应的javabean。以简化你手动拷贝粘贴json属性的工作。

哪些人会收益

如果你需要调用第三方API,但面临以下情况:
1、API未提供JAVA SDK,映射到java的响应格式,要自己写
2、API提供了SDK,但SDK略重,不想折腾

使用说明

马上使用本项目,请访问
http://jsontojava.sinaapp.com/
访问上面的网址,或下载git中的代码,打开index.html。页面如下图所示。默认会展示一个例子。

1、你可以在左边的输入框粘贴json数据
2、右边的框就会显示对应的javabean。
3、然后你可以复制右边的内容到你的项目中。
上传图片

支持特性

自动识别属性值,目前可以识别int,double,string,date,boolean,数组等

例如:
1、json格式"created_at": "2012-05-23T08:00:58Z"会被识别为Date类型,并生成属性private Date createdAt
2、识别数组

{
   "tags":[
        {"count":2416,"name":"小王子"},
        {"count":1914,"name":"童话"},
        {"count":1185,"name":"圣埃克苏佩里"},
        {"count":863,"name":"法国"},
        {"count":647,"name":"经典"},
        {"count":597,"name":"外国文学"},
        {"count":495,"name":"感动"},
        {"count":368,"name":"寓言"}
        ]
}

会被转换为

public class Example {

   private List<Tags> tags;


    public void setTags(List<Tags> tags) {
        this.tags = tags;
    }
    public List<Tags> getTags() {
        return tags;
    }

}
自动将小写命名的属性,转换为驼峰命名

create_at的属性名,将会被转成createdAt,且带上注解

@JsonProperty("created_at")
private Date createdAt;
如果json为数组,会自动识别数组中的第一个值

如下面的例子,会判断到该json为数组,然后通过数组的第一个值来解析得到javabean

[
        {
          "id": 1,
          "username": "john_smith",
          "email": "john@example.com"
        },
        {
          "id": 2,
          "username": "jack_smith",
          "email": "jack@example.com",
          "name": "Jack Smith"
        }
]
支持一键复制到剪贴板

上传图片

当json解析出错时,显示出错的行

上传图片

能够自动识别属性值为自定义类的情况

值如下图中的images属性,它的值不是基本类型(string,int等),而是自定义的数据结构

{
    "id":"1003078",
    "images":{
        "small":"http:\/\/img1.douban.com\/spic\/s1001902.jpg",
        "large":"http:\/\/img1.douban.com\/lpic\/s1001902.jpg",
        "medium":"http:\/\/img1.douban.com\/mpic\/s1001902.jpg"
     }
}

针对这种自定义类,做了以下处理
1、属性的类型名称(类名),通过转换属性名得来。如下图,属性的类型为Imagas,就是把属性名images转为首字母大写得来

public class Example {
   private String id;
   private Images images;
}

2、一并生成了自定义类的javabean
上传图片

其他说明

  • 16
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值