论坛首页 Java企业应用论坛

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

浏览 2216 次
精华帖 (0) :: 良好帖 (1) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-08-15   最后修改:2010-08-16
今天中午看见 hjg1988的关于JSON工具性能测试的帖子,手痒了,用来测试一下JSEL的JSON支持。
失望,性能确实不如jackson。不过相差也不大,而且JSEL至少还有一个简单的优势。

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

介绍一下优点吧:

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

2. 还是简单
他没有感染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. 自动类型转换
普通JavaBean都可以JSON化,JSON化的数据也可以自动转化为普通JavaBean。类型转化自动完成。

4. 支持日期类型
这不是标准的JSON数据类型,但是确实一个太常用的类型,常用到我都不好意思不支持了。
JSON 日期采用W3C的日期格式,序列化时默认采用醉完整的模式,确保不丢失数据,也允许用户自定义。
解码时,完全支持W3C的6种格式。解码器是手动编写的,比Java默认的SimpleDateFormat快大约2倍。
   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)


日期支持详细介绍
5. 速度还不错
仅次于jackson 最优的缓存模式下的性能,和直接字符串拼接差别不大。

JSEL JSON 工具包没有单独的发布,目前都是和Lite模板系统一起打包的。
打包后文件大小为80k:
下载地址:http://code.google.com/p/lite/downloads
   发表时间:2010-08-17  
简单看了一下你的 lite,并且下了 demo 来运行,没看明白

没敢花太多时间。因为现在的各种项目多如牛毛。

你能不能搞个简单点的 demo?
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics