高性能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
plain
copy
  1. <dependency>
  2. <groupId>com.alibaba</groupId>
  3. <artifactId>fastjson</artifactId>
  4. <version>1.1.36</version>
  5. </dependency>

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

[java] view
plain
copy
  1. package org.ygy.fastjson;
  2. import org.junit.Test;
  3. import com.alibaba.fastjson.JSON;
  4. import com.alibaba.fastjson.JSONObject;
  5. import com.alibaba.fastjson.serializer.SerializerFeature;
  6. public class JSONTest{
  7. /**
  8. *
  9. * @author yuguiyang
  10. * @description 序列化
  11. * @time 2013-9-12
  12. * @version 1.0
  13. */
  14. @Test
  15. public void test2JsonString() {
  16. User user = new User(100 , "lufei" , "shishi");
  17. String json = JSON.toJSONString(user);
  18. System.out.println(json);
  19. }
  20. /**
  21. *
  22. * @author yuguiyang
  23. * @description 反序列化为JSONObject对象
  24. * @time 2013-9-12
  25. * @version 1.0
  26. */
  27. @Test
  28. public void testParseObject() {
  29. String json = JSON.toJSONString(new User(1002 , "suolong" , "shishi"));
  30. JSONObject obj = JSON.parseObject(json);
  31. System.out.println(obj);
  32. System.out.println(obj.get("id"));
  33. System.out.println(obj.getString("name"));
  34. }
  35. /**
  36. *
  37. * @author yuguiyang
  38. * @description 反序列化为JavaBean
  39. * @time 2013-9-12
  40. * @version 1.0
  41. */
  42. @Test
  43. public void testParseBean() {
  44. String json = JSON.toJSONString(new User(1002 , "suolong" , "shishi"));
  45. User user = JSON.parseObject(json , User.class);
  46. System.out.println(user.getId() + " , " + user.getName() + " , " + user.getPassword());
  47. }
  48. /**
  49. *
  50. * @author yuguiyang
  51. * @description 将JavaBean对象转换为JSON对象
  52. * @time 2013-9-12
  53. * @version 1.0
  54. */
  55. @Test
  56. public void test2Json() {
  57. User user = new User(222 , "qiaoba" , "haha");
  58. JSONObject obj = (JSONObject) JSON.toJSON(user);
  59. System.out.println(obj.get("id") + ","  + obj.get("name"));
  60. }
  61. @Test
  62. public void testSeria() {
  63. User user = new User(222 , "qiaoba" , "haha");
  64. String json = JSON.toJSONString(user , SerializerFeature.WriteClassName);
  65. User juser = (User) JSON.parse(json);
  66. System.out.println(juser);
  67. }
  68. }
上一篇:轻量简单好用的C++JSON库CJsonObject


下一篇:Fastjson是一个Java语言编写的高性能功能完善的JSON库。