君子博学而日参省乎己 则知明而行无过矣

博客园 首页 新随笔 联系 订阅 管理

JSON解析和系列化功能,JSON官方网站是提供了官方的Java实现的(org.json)。 

但是,官方的实现并不理想。 
不仅接口复杂的要命。而且效率也不理想,基本可以判定是一个不合格产品。 

另外一个我比较喜欢的解析器,叫做StringTree。 
这个解析器最大的特点就是简单,JSONReader负责解析,JSONWriter负责序列化,成员方法也简单明了。 
他的输出格式除原始类型外,返回的Map,和List,充分利用了Java 集合框架。比起官方实现来,干净了很多。 

StringTree不仅简单易用,而且性能也非常不错。 
根据我的测试结果,StringTree最好。大概是JSEL的两倍。 
而官方版本最差,大概只有是JSEL一半。等比数列了,JSEL居中。 

不过StringTree有一个bug,如果代码里面有注释,经常出现死循环。 


再说JSEL: 
与专门的JSON解析相比,JSEL不仅可以解析标准的JSON数据,他还可以处理(忽略)JSON中插入的注释。甚至能处理一些简单的表达式计算,接口简单,性能也还不错。 
如: 

Java代码  收藏代码
  1. {  
  2.     "time":24*60*60*1000*365*(2008-1981),  
  3.     "data":[1,2,3,4,5],  
  4.      key:123  
  5. }  



关于JSEL的更多的信息可参看如下连接: 
详细介绍:http://code.google.com/p/lite/wiki/JSEL 
详细介绍:http://code.google.com/p/lite/downloads/list

posted on 2013-07-25 21:41  刺猬的温驯  阅读(352)  评论(0)    收藏  举报