Java程序员的好工具:通过json生成javabean(pojo)
来源:互联网 发布:用python编写99乘法表 编辑:程序博客网 时间:2024/06/03 23:07
向大家介绍我开发的一款工具,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
其他说明
- 代码已经放到github,github地址https://github.com/giantray/text-to-javabean
- 一键上传功能,需要将本项目部署在服务器上才能使用
- Java程序员的好工具:通过json生成javabean(pojo)
- 通过java的反射机制实现Map、JavaBean、JSON的相互转换工具类
- Java之POJO和javabean的异同
- 【java基础】POJO和JavaBean的区别
- java对象 POJO和JavaBean的区别
- JSON转javabean(pojo)利器
- JSON转javabean(pojo)利器
- JSON转javabean(pojo)利器
- Jsonschema2pojo:生成Json架构上的POJO
- json 和map javabean(pojo) list 互转 utils
- pojo和javabean的区别(总结)
- 【第9篇】通过json-lib去封装的JSON和JAVA的POJO的相互转换JSONHelper.java
- 使用jsonschema2pojo根据JSON文件自动生成Java POJO类(Java Bean)源文件
- Json对象转化成 javaBean,pojo
- Java各种对象(PO,BO,VO,DTO,POJO,DAO,Entity,JavaBean,JavaBeans)的区分
- Java各种对象(PO,BO,VO,DTO,POJO,DAO,Entity,JavaBean,JavaBeans)的区分
- 浅谈JAVA的反射,从ResultSet到POJO(JavaBean)
- Java -- JavaBean,POJO,VO,DTO的区别和联系
- hdu 1050 (preinitilization or postcleansing, std::fill)
- MFC复习
- JFinal功能浅析
- 一元线性回归模型与最小二乘法及其C++实现
- LinkedIn Cubert安装指南
- Java程序员的好工具:通过json生成javabean(pojo)
- win7下获取进程CPU,内存,IO等信息
- Magento 在 Onepage Checkout 页面添加自定义 Fields
- android布局学习--嵌套布局
- WGS84坐标系转为西安80坐标系的解决方式
- 在Android Studio中使用Android-PullToRefresh Library
- Android中的颜色对应的值
- adb常见问题--解决端口号被占用
- JAVA基础累积之HttpServletRequest