几种Json工具包的解析速度对比

简介: 几种Json工具包的解析速度对比

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

String content = resultSearch.getResponseContent();
    long t1=System.currentTimeMillis();
    net.sf.json.JSONObject json = net.sf.json.JSONObject.fromObject(content);
    if (json.get("searchResults") != null) {
      net.sf.json.JSONArray obj = net.sf.json.JSONArray.fromObject(json.get("searchResults") + "");
      for (int i = 0; i < obj.size(); i++) {
        //
      }
      System.out.println("obj.size="+obj.size());
    }
    long t2=System.currentTimeMillis();
    System.out.println(t2-t1);
    
    long t3=System.currentTimeMillis();
    com.alibaba.fastjson.JSONObject responseJson = com.alibaba.fastjson.JSONObject.parseObject(content);
    if (json.get("searchResults") != null) {
      com.alibaba.fastjson.JSONArray obj = com.alibaba.fastjson.JSONArray.parseArray(responseJson.get("searchResults") + "");
      for (int i = 0; i < obj.size(); i++) {
        //
      }
      System.out.println("obj.size="+obj.size());
    }
    long t4=System.currentTimeMillis();
    System.out.println(t4-t3);
    
    long t5=System.currentTimeMillis();
    com.ibm.json.java.JSONObject jsn = com.ibm.json.java.JSONObject.parse(content);
    if (json.get("searchResults") != null) {
      com.ibm.json.java.JSONArray obj = com.ibm.json.java.JSONArray.parse(jsn.get("searchResults") + "");
      for (int i = 0; i < obj.size(); i++) {
        //
      }
      System.out.println("obj.size="+obj.size());
    }
    long t6=System.currentTimeMillis();
    System.out.println(t6-t5);
    
    long t7=System.currentTimeMillis();
    Gson gson = new Gson();
    JsonElement element=gson.toJsonTree(content);
    com.google.gson.JsonObject jsonObject= element.getAsJsonObject();
    if (jsonObject.get("searchResults") != null) {
      com.google.gson.JsonArray obj = jsonObject.get("searchResults").getAsJsonArray();
      for (int i = 0; i < obj.size(); i++) {
        //
      }
      System.out.println("obj.size="+obj.size());
    }
    long t8=System.currentTimeMillis();
    System.out.println(t8-t7);


这里的运行结果是:

obj.size=5679

13872

obj.size=5679

381

obj.size=5679

298

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

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


相关文章
|
6月前
|
JSON 缓存 自然语言处理
多语言实时数据微店商品详情API:技术实现与JSON数据解析指南
通过以上技术实现与解析指南,开发者可高效构建支持多语言的实时商品详情系统,满足全球化电商场景需求。
|
8月前
|
存储 JSON 关系型数据库
【干货满满】解密 API 数据解析:从 JSON 到数据库存储的完整流程
本文详解电商API开发中JSON数据解析与数据库存储的全流程,涵盖数据提取、清洗、转换及优化策略,结合Python实战代码与主流数据库方案,助开发者构建高效、可靠的数据处理管道。
|
7月前
|
JSON 算法 API
淘宝商品评论API接口核心解析,json数据返回
淘宝商品评论API是淘宝开放平台提供的数据服务接口,允许开发者通过编程方式获取指定商品的用户评价数据,包括文字、图片、视频评论及评分等。其核心价值在于:
|
5月前
|
JSON Java Go
【GoGin】(2)数据解析和绑定:结构体分析,包括JSON解析、form解析、URL解析,区分绑定的Bind方法
bind或bindXXX函数(后文中我们统一都叫bind函数)的作用就是将,以方便后续业务逻辑的处理。
351 3
|
5月前
|
XML JSON 数据处理
超越JSON:Python结构化数据处理模块全解析
本文深入解析Python中12个核心数据处理模块,涵盖csv、pandas、pickle、shelve、struct、configparser、xml、numpy、array、sqlite3和msgpack,覆盖表格处理、序列化、配置管理、科学计算等六大场景,结合真实案例与决策树,助你高效应对各类数据挑战。(238字)
533 0
|
9月前
|
JSON 定位技术 PHP
PHP技巧:解析JSON及提取数据
这就是在PHP世界里探索JSON数据的艺术。这场狩猎不仅仅是为了获得数据,而是一种透彻理解数据结构的行动,让数据在你的编码海洋中畅游。通过这次冒险,你已经掌握了打开数据宝箱的钥匙。紧握它,让你在编程世界中随心所欲地航行。
268 67
|
6月前
|
JSON 自然语言处理 API
多语言实时数据淘宝商品评论API:技术实现与JSON数据解析指南
淘宝商品评论多语言实时采集需结合官方API与后处理技术实现。建议优先通过地域站点适配获取本地化评论,辅以机器翻译完成多语言转换。在合规前提下,企业可构建多语言评论数据库,支撑全球化市场分析与产品优化。
|
数据采集 JSON 数据可视化
JSON数据解析实战:从嵌套结构到结构化表格
在信息爆炸的时代,从杂乱数据中提取精准知识图谱是数据侦探的挑战。本文以Google Scholar为例,解析嵌套JSON数据,提取文献信息并转换为结构化表格,通过Graphviz制作技术关系图谱,揭示文献间的隐秘联系。代码涵盖代理IP、请求头设置、JSON解析及可视化,提供完整实战案例。
712 4
JSON数据解析实战:从嵌套结构到结构化表格
|
JSON 前端开发 搜索推荐
关于商品详情 API 接口 JSON 格式返回数据解析的示例
本文介绍商品详情API接口返回的JSON数据解析。最外层为`product`对象,包含商品基本信息(如id、name、price)、分类信息(category)、图片(images)、属性(attributes)、用户评价(reviews)、库存(stock)和卖家信息(seller)。每个字段详细描述了商品的不同方面,帮助开发者准确提取和展示数据。具体结构和字段含义需结合实际业务需求和API文档理解。
|
JSON 小程序 UED
微信小程序 app.json 配置文件解析与应用
本文介绍了微信小程序中 `app.json` 配置文件的详细
1954 12

热门文章

最新文章

推荐镜像

更多
  • DNS