JSON XML 解析器性能比较

1. JSON 本身的解析器

性能: Jackson > Json-lib*10

可以考虑 jackson 且重用ObjectMapper 的方法获取最高性能;

说明如下:

    因为见过有人在使用jackson时,每次都new 一个ObjectMapper的情况,而在官方教程中看到过这样一段话(can reuse, share globally)http://jackson.codehaus.org/Tutorial:

Java代码   收藏代码
  1. ObjectMapper mapper = new ObjectMapper(); // can reuse, share globally  
  2. User user = mapper.readValue(new File("user.json"), User.class);  
ObjectMapper mapper = new ObjectMapper(); // can reuse, share globally
User user = mapper.readValue(new File("user.json"), User.class);

即ObjectMapper可以重用,所以这里同时进行重用和不重用方式的测试,另外还测试直接使用StringBuffer拼接字符串的方式,以比较json序列化与原始的java方法的性能差异


参考:

http://hjg1988.iteye.com/blog/561368

http://hjg1988.iteye.com/blog/561368


2. XML本身的解析器

性能比较: SAX >Pull>DOM


Your best bet is SAX or XMLPull. Android provides API for both. The main difference here is:

  • In SAX, the parser drives the parsing and does callbacks on your code
  • In pull parsing the user code drives the parsing.
  • DOM will load whole xml in memory
在Android系统: http://stackoverflow.com/questions/3625506/what-is-the-best-way-to-handling-xml-in-android

参考:http://www.developer.com/ws/article.php/10927_3824221_2/Android-XML-Parser-Performance.htm

3. JSON&XML 比较


4. JSON&XML 解析器比较





你可能感兴趣的:(JSON XML 解析器性能比较)