文档章节

FastJson的简单使用

乐在克里特
 乐在克里特
发布于 2017/02/24 11:31
字数 608
阅读 256
收藏 0

FastJSON是一个很好的java开源json工具类库,相比其他同类的json类库,它的速度的确是fast,最快!但是文档做得不好,在应用前不得不亲测一些功能。

实际上其他的json处理工具都和它差不多,api也有几分相似。

一、JSON规范

JSON是一个标准规范,用于数据交互,规范的中文文档如下:

http://www.json.org/json-zh.html

参看规范,来对比JSON类库处理结果。

二、fastjson的一些简要说明

1、了解fastjson

Fastjson介绍

Fastjson是一个Java语言编写的JSON处理器。

1、遵循http://json.org标准,为其官方网站收录的参考实现之一。

2、功能qiang打,支持JDK的各种类型,包括基本的JavaBean、Collection、Map、Date、Enum、泛型。

3、无依赖,不需要例外额外的jar,能够直接跑在JDK上。

4.开源,使用Apache License 2.0协议开源。http://code.alibabatech.com/wiki/display/FastJSON/Home

如果获得Fastjson?

SVN:http://code.alibabatech.com/svn/fastjson/trunk/

WIKI:http://code.alibabatech.com/wiki/display/FastJSON/Home

Issue Tracking:http://code.alibabatech.com/jira/browse/FASTJSON

2、主要的使用入口

maven的dependency

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
</dependency>

Fastjson API入口类是com.alibaba.fastjson.JSON,常用的序列化操作都可以在JSON类上的静态方法直接完成。

public static final Object parse(String text); 
// 把JSON文本parse为JSONObject或者JSONArray 

public static final JSONObject parseObject(String text); 
// 把JSON文本parse成JSONObject    

public static final <T> T parseObject(String text, Class<T> clazz); 
// 把JSON文本parse为JavaBean 

public static final JSONArray parseArray(String text); 
// 把JSON文本parse成JSONArray 

public static final <T> List<T> parseArray(String text, Class<T> clazz); 
//把JSON文本parse成JavaBean集合 

public static final String toJSONString(Object object); 
// 将JavaBean序列化为JSON文本 

public static final String toJSONString(Object object, boolean prettyFormat); 
// 将JavaBean序列化为带格式的JSON文本 

public static final Object toJSON(Object javaObject); 
//将JavaBean转换为JSONObject或者JSONArray。

3、有关类库的一些说明

SerializeWriter:相当于StringBuffer

JSONArray:相当于List<Object>

JSONObject:相当于Map<String, Object>

JSON反序列化没有真正数组,本质类型都是List<Object>

4、fastjson还有很多很高级的特性,比如支持注解、支持全类型序列化,这些都是很好的特性,功能强大,不在本次测试范围。

5.主要的一些方法(JSON、JSONObject)

//个人常用的方法

JSON.toJSONString(Object o);
JSON.toJSON(Object o);
...

//使用这样的转化可以减少报错
RiskReport riskReport = JSONObject.parseObject(tdReportDetails.getReportDetail(),RiskReport.class);
Map map = JSONObject.parseObject(json);
...

 

其他的用法:

http://zyjustin9.iteye.com/blog/2020533

© 著作权归作者所有

共有 人打赏支持
乐在克里特
粉丝 15
博文 268
码字总数 394729
作品 0
杭州
程序员
Fastjson和Jackson序列化和读取json的性能实测

偶然间看到的阿里出品的Fastjson,网上对这个json包好评如潮,性能胜Jackson10倍。 本人本着眼见为实的想法,自己测试一下两者的性能比较。 POJO对象名字为User,具体代码就不贴了,里面有两...

derekxyz
2014/04/24
0
0
fastjson 发布 1.1.22 版本

Fastjson是一个Java语言编写的高性能功能完善的JSON库。它采用一种“假定有序快速匹配”的算法,把JSON Parse的性能提升到极致,是目前Java语言中最快的JSON库。Fastjson接口简单易用,已经被...

wenshao
2012/07/11
1K
8
fastjson 1.2.45 发布,Bug 修复版本

Issues 修复PropertyFilter和SerializerFeature.BeanToArray组合使用结果不对的错误 #1580 修复简单类型@jsonfield的 deserializeUsing不起作用问题 修复某些场景下无法支持AutoType的问题 ...

wenshao
01/22
0
0
fastjson 1.1.57.android 发布,首次优化性能

fastjson 1.1.57.android 发布了。fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发。这是一个小改动版本,提升首次反序列化和反序列化的性能,并...

达尔文
2017/05/03
893
1
后台数据传输-JSON

image.png 工作中经常要用到Json、JavaBean、Xml之间的相互转换,用到了很多种方式,这里做下总结,以供参考。现在主流的转换工具有Json-lib、Jackson、Fastjson、Gson等,我为大家一一做简单...

东东2866
2017/11/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Bash重定向详解

Bash重定向详解 Bash的重定向指的是将命令的输入和输出导向不同地方,而不是默认的标准输入、标准输出和标准错误。Bash的重定向实际上是对标准输入、标准输出和标准错误的重置,进而将所需输...

小陶小陶
今天
3
0
EventBus原理深度解析

一、问题描述 在工作中,经常会遇见使用异步的方式来发送事件,或者触发另外一个动作:经常用到的框架是MQ(分布式方式通知)。如果是同一个jvm里面通知的话,就可以使用EventBus。由于Event...

yangjianzhou
今天
6
0
OpenCV图像处理实例:libuv+cvui显示摄像头视频

#include <iostream>#include <opencv2/opencv.hpp>#define CVUI_IMPLEMENTATION#include <cvui.h>extern "C"{#include <uv.h>}using namespace std;#define WINDOW_NAM......

IOTService
今天
3
0
openJDK之JDK9的String

1.openJDK8的String 先来看下openJDK8的String的底层,如下图1.1所示: 图1.1 底层上使用的是char[],即char数组 每个char占16个bit,Character.SIZE的值是16。 2.openJDK9中的String 图2.1...

克虏伯
今天
4
0
UEFI 模式下如何安装 Ubuntu 16.04

作者:知乎用户 链接:https://www.zhihu.com/question/52092661/answer/259583475 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 针对UEFI模式下安装U...

寻知者
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部