zoukankan      html  css  js  c++  java
  • Android解析JSON速度对比

    转载参考:http://blog.csdn.net/h3c4lenovo/article/details/26568531

     1 {
     2     "testStr":"这是String的测试",
     3     "testInt":12443,
     4     "data": [
     5         {
     6             "children": [
     7                 {
     8                     "id": 10007,
     9                     "title": "北京",
    10                     "type": 1,
    11                     "url": "/10007/list_1.json"
    12                 },
    13                 {
    14                     "id": 10105,
    15                     "title": "汽车",
    16                     "type": 1,
    17                     "url": "/10105/list_1.json"
    18                 }
    19             ],
    20             "id": 10000,
    21             "title": "新闻",
    22             "type": 1
    23         },
    24         {
    25             "id": 10002,
    26             "title": "专题",
    27             "type": 10,
    28             "url": "/10006/list_1.json",
    29             "url1": "/10007/list1_1.json"
    30         },
    31         {
    32             "id": 10003,
    33             "title": "组图",
    34             "type": 2,
    35             "url": "/10008/list_1.json"
    36         },
    37         {
    38             "dayurl": "",
    39             "excurl": "",
    40             "id": 10004,
    41             "title": "互动",
    42             "type": 3,
    43             "weekurl": ""
    44         }
    45     ],
    46     "extend": [
    47         10007,
    48         10006,
    49         10008,
    50         10014,
    51         10012,
    52         10091,
    53         10009,
    54         10010,
    55         10095
    56     ],
    57     "retcode": 200
    58 }

         以下测试以上面这段JSON作为参考进行测试。

    第三方JAR包:(阿里巴巴)fastjson-1.2.5.jar      (谷歌)gson-2.2.4.jar

     1 import android.app.Activity;
     2 import android.os.Bundle;
     3 import android.util.Log;
     4 import com.alibaba.fastjson.JSON;
     5 import com.google.gson.Gson;
     6 import com.google.gson.reflect.TypeToken;
     7 
     9 public class MainActivity extends Activity {
    10     public final String TAG = "MainActivity";
    11 
    12     Gson my_gson = new Gson();
    13     java.lang.reflect.Type my_type = new TypeToken<TestBean1>() {
    14     }.getType();
    15 
    16     @Override
    17     protected void onCreate(Bundle savedInstanceState) {
    18         super.onCreate(savedInstanceState);
    19         setContentView(R.layout.activity_main);
    20 
    21         new Thread(new Runnable() {
    22             @Override
    23             public void run() {
    24                 doSth();
    25             }
    26         }).start();
    27     }
    28 
    29     private void doSth() {
    30         Log.i(TAG, "start...");
    31         try {
    32              long startTime2 = System.currentTimeMillis();
    33             String json = LocalFileUtils.getStringFormAsset(this, "testbean1.json");
    34             for(int n = 0;n < 100000; n++) {
    35                 TestBean1 toBean =  JSON.parseObject(json, TestBean1.class);
    36                 System.out.println(toBean);
    37             }
    38             long endTime2 = System.currentTimeMillis() - startTime2;
    39             Log.i(TAG, "fastjson....." + endTime2);
    40 
    41 
    42             long startTime4 = System.currentTimeMillis();
    43             String my_json = LocalFileUtils.getStringFormAsset(this, "testbean1.json");
    44             for (int n = 0; n < 100000; n++) {
    45                 // 使用JSON 操作 工具将JSON字符串封装到实体类
    46                 TestBean1 toBean = my_gson.fromJson(my_json, my_type);
    47                 System.out.println(toBean);
    48             }
    49             long endTime4 = System.currentTimeMillis() - startTime4;
    50             Log.i(TAG, "gson....." + endTime4);
    51 
    52         } catch (Exception e) {
    53             e.printStackTrace();
    54         }
    55     }
    56 
    57 }
    public class TestBean1 {
        public String testStr;
        public Integer testInt;
    
        public List<NewsItem> data;
        public List<Integer> extend;
        public int retcode;
    
        public class NewsItem {
            public List<NewsCategory> children;
            public int id;
            public String title;
            public int type;
            public String url;
            public String url1;
            public String dayurl;
            public String excurl;
            public String weekurl;
    
            public class NewsCategory {
                public int id;
                public String title;
                public int type;
                public String url;
            }
        }
    
    }

    运行结果:

    gson.....122298
    fastjson.....138429

  • 相关阅读:
    mysql 时间戳 转 时间
    VSCode搭建VUE 开发环境
    虚拟通信
    JavaScript 获取客户端计算机硬件及系统信息
    Thinkphp关联模型BELONGS_TO
    docker部署rancher踩坑篇
    青龙面板 脚本 依赖库下载安装
    Linux 随记
    Tekton DAG代码
    手写Spring valar
  • 原文地址:https://www.cnblogs.com/androidsj/p/5264413.html
Copyright © 2011-2022 走看看