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. }

高性能JSON库---FastJson(阿里巴巴)的更多相关文章

  1. YxdJSON - Delphi 高性能 JSON 库(支持RTTI和序列化操作)

    源:YxdJSON - Delphi 高性能 JSON 库(支持RTTI和序列化操作) Delphi 高性能 JSON 库(支持RTTI和序列化操作) 支持平台: Windows, Android, ...

  2. 高性能JSON工具-FastJson处理超大JSON文本

    使用阿里开源类库FastJson,当需要处理超大JSON文本时,需要Stream API,在fastjson-1.1.32版本中开始提供Stream API.文档参考GitHub:https://gi ...

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

    简介 Fastjson是一个Java语言编写的高性能功能完善的JSON库. 高性能 fastjson采用独创的算法,将parse的速度提升到极致,超过所有json库,包括曾经号称最快的jackson. ...

  4. 深入 Go 中各个高性能 JSON 解析库

    转载请声明出处哦~,本篇文章发布于luozhiyun的博客:https://www.luozhiyun.com/archives/535 其实本来我是没打算去看 JSON 库的性能问题的,但是最近我对 ...

  5. 高性能JSON框架之FastJson的简单使用

    1.前言 1.1.FastJson的介绍: JSON协议使用方便,越来越流行,JSON的处理器有很多,这里我介绍一下FastJson,FastJson是阿里的开源框架,被不少企业使用,是一个极其优秀的 ...

  6. Java几种常用JSON库性能比较

    本篇通过JMH来测试一下Java中几种常见的JSON解析库的性能. 每次都在网上看到别人说什么某某库性能是如何如何的好,碾压其他的库.但是百闻不如一见,只有自己亲手测试过的才是最值得相信的. JSON ...

  7. JSON库的使用研究(一)

    最近用到JSON,收集了一些资料,整理如下: 选择一个合适的JSON库要从多个方面进行考虑: 字符串解析成JSON性能 字符串解析成Java Object性能 Java Object转JSON性能 集 ...

  8. Java常用的几个Json库,性能强势对比!

    作者:飞污熊 https://xncoding.com/2018/01/09/java/jsons.html 本篇通过JMH来测试一下Java中几种常见的JSON解析库的性能.每次都在网上看到别人说什 ...

  9. JSON和fastjson

    一.JSON 语法规则: 数据在名称/值对中 数据由逗号分隔 花括号保存对象 方括号保存数组 名称/值对-->对象-->数组 JSON 名称/值对 JSON 数据的书写格式是:名称/值对. ...

随机推荐

  1. 向mysql添加新用户并分配权限

    首先要声明一点,大部分情况下,修改MySQL是需要有mysql里的root权限的,所以一般用户无法更改密码,除非请求管理员. 方法一使用phpmyadmin,这是最简单的了,修改mysql库的user ...

  2. [原创]linux简单之美(二)

    原文链接:linux简单之美(二) 我们在前一章中看到了如何仅仅用syscall做一些简单的事,现在我们看能不能直接调用C标准库中的函数快速做一些"复杂"的事: section . ...

  3. MySQL中用decimal的原因

    原因:float保存的值有可能是这个值的近似值,而不是这个值的真实值.如 0.1在二进制中是没有办法保存真实值的. 下面是例子: 第一步:建表: create table t2(x float,y d ...

  4. 第五章 Spring3.0 、Hibernate3.3与Struts2的整合

    5.1整合Spring与Hibernate 5.1.1使用MyEclipse加入Spring与Hibernate功能 使用MyEclipse工具主要是为了让工程拥有把数据表生成实体类与映射的功能.然后 ...

  5. new Date().getTime()

    new Date().getTime()获取当前时间戳; 不知道是毫秒级还是千分之一毫秒级别

  6. Class constructor

     // example: class constructor #include <iostream> using namespace std; class Rectangle { in ...

  7. 让 collabtive-11 支持中文

    collabtive, 不错的项目管理工具, 将在新项目中使用之; 但在默认安装 collabtive-11 之后 发现在里面输入中文后会出错, 网上找不了少资料但对 11这版本的中文支持的修改不起不 ...

  8. Unity3D游戏开发从零单排(五) - 导入CS模型到Unity3D

    游戏动画基础 Animation组件 Animation组件是对于老的动画系统来说的. 老的动画形同相应的动画就是clip,每一个运动都是一段单独的动画,使用Play()或CrossFade(),直接 ...

  9. HTTP的报文格式解析

    一.概述 http报文是面向文本的,报文中每一个字段都是一些ASCII码串,各个字段的长度是不确定的.http有两类报文:请求报文  响应报文 二.请求报文 一个http请求报文由 请求行(reque ...

  10. 转载:SQL语句Where中使用别名作为判断条件

    原文地址:http://www.cnblogs.com/dwfbenben/p/3307941.html 当我们使用某个表达式作为输出的一列时,我们无法再Where条件中直接使用该列作判断条件.   ...