但是,官方的实现并不理想。
不仅接口复杂的要命。而且效率也不理想,基本可以判定是一个不合格产品。
另外一个我比较喜欢的解析器,叫做StringTree。
这个解析器最大的特点就是简单,JSONReader负责解析,JSONWriter负责序列化,成员方法也简单明了。
他的输出格式除原始类型外,返回的Map,和List,充分利用了Java 集合框架。比起官方实现来,干净了很多。
StringTree不仅简单易用,而且性能也非常不错。
根据我的测试结果,StringTree最好。大概是JSEL的两倍。
而官方版本最差,大概只有是JSEL一半。等比数列了, JSEL居中。
不过StringTree有一个bug,如果代码里面有注释,经常出现死循环。
再说 JSEL:
与专门的JSON解析相比,JSEL不仅可以解析标准的JSON数据,他还可以处理(忽略)JSON中插入的注释。甚至能处理一些简单的表达式计算,接口简单,性能也还不错。
如:
{ "time":24*60*60*1000*365*(2008-1981), "data":[1,2,3,4,5], key:123 }
关于JSEL的更多的信息可参看如下连接:
详细介绍: http://code.google.com/p/lite/wiki/JSEL
详细介绍: http://code.google.com/p/lite/downloads/list