当前位置:   article > 正文

几种Json工具包的解析速度对比_jsonarray查询速度快吗

jsonarray查询速度快吗

我们常用的json工具有Google的Gson,JackJson,阿里的fastjson,这里我们加入一个IBM的解析工具。看代码

  1. String content = resultSearch.getResponseContent();
  2. long t1=System.currentTimeMillis();
  3. net.sf.json.JSONObject json = net.sf.json.JSONObject.fromObject(content);
  4. if (json.get("searchResults") != null) {
  5. net.sf.json.JSONArray obj = net.sf.json.JSONArray.fromObject(json.get("searchResults") + "");
  6. for (int i = 0; i < obj.size(); i++) {
  7. //
  8. }
  9. System.out.println("obj.size="+obj.size());
  10. }
  11. long t2=System.currentTimeMillis();
  12. System.out.println(t2-t1);
  13. long t3=System.currentTimeMillis();
  14. com.alibaba.fastjson.JSONObject responseJson = com.alibaba.fastjson.JSONObject.parseObject(content);
  15. if (json.get("searchResults") != null) {
  16. com.alibaba.fastjson.JSONArray obj = com.alibaba.fastjson.JSONArray.parseArray(responseJson.get("searchResults") + "");
  17. for (int i = 0; i < obj.size(); i++) {
  18. //
  19. }
  20. System.out.println("obj.size="+obj.size());
  21. }
  22. long t4=System.currentTimeMillis();
  23. System.out.println(t4-t3);
  24. long t5=System.currentTimeMillis();
  25. com.ibm.json.java.JSONObject jsn = com.ibm.json.java.JSONObject.parse(content);
  26. if (json.get("searchResults") != null) {
  27. com.ibm.json.java.JSONArray obj = com.ibm.json.java.JSONArray.parse(jsn.get("searchResults") + "");
  28. for (int i = 0; i < obj.size(); i++) {
  29. //
  30. }
  31. System.out.println("obj.size="+obj.size());
  32. }
  33. long t6=System.currentTimeMillis();
  34. System.out.println(t6-t5);
  35. long t7=System.currentTimeMillis();
  36. Gson gson = new Gson();
  37. JsonElement element=gson.toJsonTree(content);
  38. com.google.gson.JsonObject jsonObject= element.getAsJsonObject();
  39. if (jsonObject.get("searchResults") != null) {
  40. com.google.gson.JsonArray obj = jsonObject.get("searchResults").getAsJsonArray();
  41. for (int i = 0; i < obj.size(); i++) {
  42. //
  43. }
  44. System.out.println("obj.size="+obj.size());
  45. }
  46. long t8=System.currentTimeMillis();
  47. System.out.println(t8-t7);


这里的运行结果是:

obj.size=5679
13872
obj.size=5679
381
obj.size=5679
298

而Gson则没有解析成功,抛了个异常,可能写法有问题。

这样来看,阿里的fastjson及IBM的json解析工具在速度上远远快与JackJson。


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/272824?site
推荐阅读