zoukankan      html  css  js  c++  java
  • 高性能JSON库---FastJson(阿里巴巴)

    1.FastJSON简单介绍

    Fastjson是一个Java语言编写的高性能功能完好的JSON库。

    它採用一种“假定有序高速匹配”的算法,把JSON Parse的性能提升到极致,是眼下Java语言中最快的JSON库。


    下载 

    你能够从下面地址中下载fastjson: 

    Maven中央仓库 http://repo1.maven.org/maven2/com/alibaba/fastjson/ 
    Alibaba OpenSesame开源平台 http://code.alibabatech.com/mvn/releases/com/alibaba/fastjson/ 


    源代码 
    https://github.com/alibaba/fastjson


    Fastjson是一个json处理工具包。包含“序列化”和“反序列化”两部分,它具备例如以下特征:

    1. 速度最快,測试表明。fastjson具有极快的性能,超越任其它的java json parser。包含自称最快的jackson。

    2. 功能强大,全然支持java bean、集合、Map、日期、Enum。支持范型,支持自省。
    3. 无依赖,可以直接执行在Java SE 5.0以上版本号
    4. 支持Android。
    5. 开源 (Apache 2.0)


    2.简单使用

    具体使用的话,大家能够去官网看,介绍非常具体,并且是中文。

    使用Maven的话。配置pom.xml文件,在dependencies中加入依赖: 

    [java] view plaincopy
    1. <dependency>  
    2.     <groupId>com.alibaba</groupId>  
    3.     <artifactId>fastjson</artifactId>  
    4.     <version>1.1.36</version>  
    5. </dependency>  

    以下是简单的測试。參考官网上的数据

    [java] view plaincopy
    1. package org.ygy.fastjson;  
    2.   
    3. import org.junit.Test;  
    4.   
    5. import com.alibaba.fastjson.JSON;  
    6. import com.alibaba.fastjson.JSONObject;  
    7. import com.alibaba.fastjson.serializer.SerializerFeature;  
    8.   
    9.   
    10. public class JSONTest{  
    11.       
    12.     /** 
    13.      *  
    14.      * @author yuguiyang 
    15.      * @description 序列化 
    16.      * @time 2013-9-12 
    17.      * @version 1.0 
    18.      */  
    19.     @Test  
    20.     public void test2JsonString() {  
    21.         User user = new User(100 , "lufei" , "shishi");  
    22.           
    23.         String json = JSON.toJSONString(user);  
    24.           
    25.         System.out.println(json);  
    26.           
    27.     }  
    28.       
    29.     /** 
    30.      *  
    31.      * @author yuguiyang 
    32.      * @description 反序列化为JSONObject对象 
    33.      * @time 2013-9-12 
    34.      * @version 1.0 
    35.      */  
    36.     @Test  
    37.     public void testParseObject() {  
    38.         String json = JSON.toJSONString(new User(1002 , "suolong" , "shishi"));  
    39.           
    40.         JSONObject obj = JSON.parseObject(json);  
    41.           
    42.         System.out.println(obj);  
    43.         System.out.println(obj.get("id"));  
    44.         System.out.println(obj.getString("name"));  
    45.     }  
    46.       
    47.     /** 
    48.      *  
    49.      * @author yuguiyang 
    50.      * @description 反序列化为JavaBean 
    51.      * @time 2013-9-12 
    52.      * @version 1.0 
    53.      */  
    54.     @Test  
    55.     public void testParseBean() {  
    56.         String json = JSON.toJSONString(new User(1002 , "suolong" , "shishi"));  
    57.           
    58.         User user = JSON.parseObject(json , User.class);  
    59.           
    60.         System.out.println(user.getId() + " , " + user.getName() + " , " + user.getPassword());   
    61.     }  
    62.       
    63.     /** 
    64.      *  
    65.      * @author yuguiyang 
    66.      * @description 将JavaBean对象转换为JSON对象 
    67.      * @time 2013-9-12 
    68.      * @version 1.0 
    69.      */  
    70.     @Test  
    71.     public void test2Json() {  
    72.         User user = new User(222 , "qiaoba" , "haha");  
    73.           
    74.         JSONObject obj = (JSONObject) JSON.toJSON(user);  
    75.           
    76.         System.out.println(obj.get("id") + ","  + obj.get("name"));  
    77.     }  
    78.       
    79.     @Test  
    80.     public void testSeria() {  
    81.         User user = new User(222 , "qiaoba" , "haha");  
    82.         String json = JSON.toJSONString(user , SerializerFeature.WriteClassName);  
    83.           
    84.           
    85.         User juser = (User) JSON.parse(json);  
    86.           
    87.         System.out.println(juser);  
    88.     }  
    89. }  
  • 相关阅读:
    20155211第十六周课堂实践
    20155211 《信息安全系统设计基础》课程总结
    2017-2018-1 20155211 《信息安全系统设计基础》第14周学习总结
    2017-2018-1 20155211 《信息安全系统设计基础》第13周学习总结
    2017-2018-1 20155211 实验五 通讯协议设计
    20155211课下测试ch10补交
    20155211 课下测试ch11补做
    20155211 课下测试ch12补做
    2017-2018-1 20155211 《信息安全系统设计基础》第11周学习总结
    等价二叉树
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/5195796.html
Copyright © 2011-2022 走看看