文档章节

FastJson的简单使用

乐在克里特
 乐在克里特
发布于 2017/02/24 11:31
字数 608
阅读 232
收藏 0
点赞 0
评论 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
博文 265
码字总数 394729
作品 0
杭州
程序员
fastjson常见问题

怎么获得fastjson? 你可以通过如下地方下载fastjson: Alibaba开源下载: http://code.alibabatech.com/mvn/releases/com/alibaba/fastjson/ maven中央仓库: http://central.maven.org/maven2......

jxlgzwh ⋅ 2014/03/25 ⋅ 0

Fastjson和Jackson序列化和读取json的性能实测

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

derekxyz ⋅ 2014/04/24 ⋅ 0

fastjson 发布 1.1.22 版本

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

wenshao ⋅ 2012/07/11 ⋅ 8

fastjson 1.2.45 发布,Bug 修复版本

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

wenshao ⋅ 01/22 ⋅ 0

Fastjson序列化导致BeetlSQL无限循环查询的解决方案

前言 BeetlSQL最近的更新新增了注解,作用是可以让内置生成的SQL自动去延迟级联加载对象,此功能的增加让BeetlSQL在ORM功能方面完全有了抗衡Hibernate的资本。这么新鲜刺激的功能,不尝鲜一下...

你是红薯派来的逗逼吗 ⋅ 2016/11/22 ⋅ 2

fastjson 1.1.57.android 发布,首次优化性能

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

达尔文 ⋅ 2017/05/03 ⋅ 1

后台数据传输-JSON

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

东东2866 ⋅ 2017/11/16 ⋅ 0

JSON 框架--jfire-codejson

jfire-codejson 是最快最自由的json框架,性能超越 fastjson 1 倍。支持策略能力。 已发布到maven中央仓库。link.jfire.codejson 性能强劲codejson是迄今为止最为强大的json框架,序列化速度...

eric_jfire ⋅ 2015/12/14 ⋅ 20

想请教一个fastjson反序列化的问题

听闻fastjson速度最快,这几天在学习、使用fastjson。哎,没想到它的官方文档太少了,尤其是反序列化的例子——只有一个简单至极的demo;还找不到api文档 -。- 想问一下,从json字符串反序列...

Timco ⋅ 2013/11/26 ⋅ 2

Json那点事儿

1.JSON介绍 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,JSON以key-value的形式提供了很好的读写,在web开发中之前用过xml来进行数据的交互和传输, 但xml的数据结构比较复...

陈小扁 ⋅ 2016/04/10 ⋅ 1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

服务网关过滤器

过滤器作用 我们的微服务应用提供的接口就可以通过统一的API网关入口被客户端访问到了。但是,每个客户端用户请求微服务应用提供的接口时,它们的访问权限往往都需要有一定的限制,系统并不会...

明理萝 ⋅ 17分钟前 ⋅ 1

【2018.06.21学习笔记】【linux高级知识 14.1-14.3】

14.1 NFS介绍 NFS服务全称是NetWork File System:网络文件系统,最早有sun公司开发的,4.0版本由Netapp公司开发,是基于RPC远程过程调用(Remote Procedure Call)协议的服务。 14.2 NFS服务...

lgsxp ⋅ 26分钟前 ⋅ 0

Day18 vim编辑模式、命令模式与练习

编辑模式 命令模式 :nohl 不高亮显示 :x与:wq类似,如果在更改文件之后操作,两者效果一样;如果打开文件,没有任何操作; :wq会更改mtime,但是:x不会。 练习题 扩展 vim的特殊用法 ht...

杉下 ⋅ 29分钟前 ⋅ 0

Enum、EnumMap、EnumSet

1、Enum 不带参数 public enum Car { AUDI { @Override public int getPrice() { return 25000; } }, MERCEDES { ......

职业搬砖20年 ⋅ 30分钟前 ⋅ 0

Java中的锁使用与实现

1.Lock接口 锁是用来控制多个线程访问共享资源的方式,一般来说,一个锁能够防止多个线程同时访问共享资源。 在Lock出现之前,java程序是靠synchronized关键字实现锁功能的,而Java SE5之后,...

ZH-JSON ⋅ 31分钟前 ⋅ 0

线程组和 ThreadLocal

前言 在上面文章中,我们从源码的角度上解析了一下线程池,并且从其 execute 方法开始把线程池中的相关执行流程过了一遍。那么接下来,我们来看一个新的关于线程的知识点:线程组。 线程组 ...

猴亮屏 ⋅ 33分钟前 ⋅ 0

相对路径和绝对路径

基本概念   文件路径就是文件在电脑中的位置,表示文件路径的方式有两种,相对路径和绝对路径。在网页设计中通过路径可以表示链接,插入图像、Flash、CSS文件的位置。   物理路径:物理路...

临江仙卜算子 ⋅ 37分钟前 ⋅ 0

消息队列属性及常见消息队列介绍

什么是消息队列? 消息队列是在消息的传输过程中保存消息的容器,用于接收消息并以文件的方式存储,一个队列的消息可以同时被多个消息消费者消费。分布式消息服务DMS则是分布式的队列系统,消...

中间件小哥 ⋅ 39分钟前 ⋅ 0

java程序员使用web3j进行以太坊开发详解

如何使用web3j为Java应用或Android App增加以太坊区块链支持,教程内容即涉及以太坊中的核心概念,例如账户管理包括账户的创建、钱包创建、交易转账,交易与状态、智能合约开发与交互、过滤器...

笔阁 ⋅ 39分钟前 ⋅ 0

vim编辑模式、vim命令模式

vim编辑模式 使用vim filename 进入的界面是一般模式,在这个模式下虽然我们能够查看,复制,剪切,粘贴,但是不能编辑新的内容,如何能直接写入东西呢?这就需要进入编辑模式了,从一般模式...

李超小牛子 ⋅ 42分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部