JSEL的JSON工具添加日期格式支持

今天中午看见 [url=http://hjg1988.iteye.com/]hjg1988[/url]的关于JSON工具性能测试的[url=http://www.iteye.com/topic/561368?page=3#1626559]帖子[/url],手痒了,用来测试一下JSEL的JSON支持。
失望,性能确实不如jackson。不过相差也不大,而且JSEL至少还有一个简单的优势。

测试之后正好顺手,吧JSEL的JSON工具完善一下,发出来看看,如果能派上点用场那就最好不过了。

介绍一下优点吧:

1. [b]简单,超级简单[/b]
相比于其他JSON工具,JSEL的最大特点就是简单,编码解码一共就3个Java文件,我都不好意思单独打包了。
和JSEL+Lite模板运行环境一起打包也就是区区80几K。

2. [b]还是简单[/b]
他没有感染json.org官方实现的坏毛病。没有繁琐的自定义接口,充分利用Java本身的标准集合类,原始类型,JavaBean规范,描述JSON结构。编码解码只是一个静态方法调用即可完成(当能,你也可以创建编码解码器,定制更多高级功能)。

MyClass object = new MyClass();
String json= JSONEncoder.encode(object);
//直接解码为java标准集合
Map<String,Object> map = JSONDecoder.decode(json);


//自定义解码器
JSONDecoder decoder = new JSONDecoder(true);
//自动将JSON数据转化为制定类型的对象
MyClass result = decoder.decode(json,MyClass.class);


3. [b]自动类型转换[/b]
普通JavaBean都可以JSON化,JSON化的数据也可以自动转化为普通JavaBean。类型转化自动完成。

4. [b]支持日期类型[/b]
这不是标准的JSON数据类型,但是确实一个太常用的类型,常用到我都不好意思不支持了。
JSON 日期采用W3C的日期格式,序列化时默认采用醉完整的模式,确保不丢失数据,也允许用户自定义。
解码时,完全支持W3C的6种格式。解码器是手动编写的,比Java默认的SimpleDateFormat快大约2倍。
[code]
Year:
YYYY (eg 1997)
Year and month:
YYYY-MM (eg 1997-07)
Complete date:
YYYY-MM-DD (eg 1997-07-16)
Complete date plus hours and minutes:
YYYY-MM-DDThh:mmTZD (eg 1997-07-16T19:20+01:00)
Complete date plus hours, minutes and seconds:
YYYY-MM-DDThh:mm:ssTZD (eg 1997-07-16T19:20:30+01:00)
Complete date plus hours, minutes, seconds and a decimal fraction of a
second
YYYY-MM-DDThh:mm:ss.sTZD (eg 1997-07-16T19:20:30.45+01:00)

[/code]
[url=http://code.google.com/p/lite/wiki/JSONType#%E6%97%A5%E6%9C%9F%E7%B1%BB%E5%9E%8B%E6%94%AF%E6%8C%81]日期支持详细介绍[/url]
5. [b]速度还不错[/b]
仅次于jackson 最优的缓存模式下的性能,和直接字符串拼接差别不大。

JSEL JSON 工具包没有单独的发布,目前都是和Lite模板系统一起打包的。
打包后文件大小为80k:
下载地址:[url]http://code.google.com/p/lite/downloads[/url]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值