fastjson——json工具库
fastjson
alibaba fastjson是阿里巴巴公司开源维护的一个处理json格式数据的java工具库。
功能特性:
- 数据绑定databind (json string <--> java object, JSON <--> java object)
- 保持单一对象。序列化时相同的java对象引用只会在一个地方序列化一次,另外的引用地方以特殊的引用表述,反序列化后保证了与序列化之前单一java对象的数据引用视图。
- ……
json中基本类型(数字、字符串、布尔等标量)的容器有两种,对象和数组,在fastjson中分别对应类JSONObject
和JSONArray
,他们有共同父类JSON
。json对象是键值对集合,相应的JSONObject蕴含键值对集,实现了接口Map<String,Object>
;json数组是元集合,相应的JSONArray实现了接口List<Object>
。
JSON
类中还包含各种JSON
, java Object
, String
之间的相互转换工具函数。
JSON.toJSONString(Object,SerializeConfig=SerializeConfig.globalInstance,...)
函数的功能是将java对象序列化为json字符串。SerializeConfig参数是关于序列化的配置,默认使用全局共享实例SerializeConfig.globalInstance
。SerializeConfig可通过.config(Class<?> clazz, SerializerFeature feature, boolean value)
为给定类打开/关闭多种序列化特性,所有特性在枚举SerializerFeature
中。对于java bean(或所有将转换为json字符串的java对象),配置特性WriteMapNullValue
可控制null值字段是否需要序列化出。JSON.toJSON(Object,SerializeConfig=SerializeConfig.globalInstance)
将java bean对象转换为JSONObject(Map对象)。需要注意的是,尽管该函数接受SerializeConfig,且不论WriteMapNullValue特性是否关闭,转换出的JSONObject对象都会包含java bean的null值字段,也就说SerializeConfig的WriteMapNullValue特性对于转换为JSONObject无用,但对于转换为字符串管用,同时在观察转为JSON.toJSON中SerializeConfig的WriteMapNullValue特性是否有用时需注意不能以System.out.println(JSONObject)
打印输出来观察,因为其输出已调用JSONObject.toString
将JSONObject对象转为了json字符串,转换为json string的过程涉及了WriteMapNullValue特性。
各jvm序列化器(包含数个json库)性能对比结果见 https://github.com/eishay/jvm-serializers/wiki 。
fastjson——json工具库的更多相关文章
- Json 工具介绍 fastjson gson jackson
1. fastjson fastjson是一个Java语言编写的高性能功能完善的JSON库.它采用一种“假定有序快速匹配”的算法,把JSON Parse的性能提升到极致, 是目前Java语言中最快的J ...
- 常用json解析库比较及选择 fastjson & gson
一.常用json解析库比较及选择 1.简介 fastjson和gson是目前比较常用的json解析库,并且现在我们项目代码中,也在使用这两个解析库. fastjson 是由阿里开发的,号称是处理jso ...
- fastjson是阿里巴巴的开源JSON解析库
fastjson的API十分简洁. String text = JSON.toJSONString(obj); //序列化 VO vo = JSON.parseObject("{...}&q ...
- 阿里巴巴Json工具-Fastjson讲解
Fastjson是阿里巴巴公司开源的速度最快的Json和对象转换工具,一个Java语言编写的JSON处理器. 1.遵循http://json.org标准,为其官方网站收录的参考实现之一.2.功能qia ...
- Android JSON解析库Gson和Fast-json的使用对比和图书列表小案例
Android JSON解析库Gson和Fast-json的使用对比和图书列表小案例 继上篇json解析,我用了原生的json解析,但是在有些情况下我们不得不承认,一些优秀的json解析框架确实十分的 ...
- [Java学习] JSON工具学习记录--FastJSON
最近做项目,总是与json打交道,在用了即可json工具后,个人认为fastJson最好用,很方便,API也清晰可见,所以记录下使用方法,给需要的人提供帮助.(部分摘抄自网络) 一.API入口 Fas ...
- 强大的json工具:fastJson
fastJson FastJSON是一个很好的java开源json工具类库,相比其他同类的json类库,它的速度的确是fast,最快!但是文档做得不好,在应用前不得不亲测一些功能. 实际上其他 ...
- JSON工具类库: alibaba/fastjson 使用记录
JSON工具类库: alibaba/fastjson 使用记录 一.了解JSON JSON标准规范中文文档: http://www.json.org/json-zh.html 最佳实践:http:// ...
- 不同Json工具对空串和NULL的序列号处理:net.sf.json 和 fastjson
目录 1.测试代码 2.测试结果: 3.总结: 4.注:Maven中引入net.sf.json的方式 net.sf.json 和 fastjson 对于空串和NULL的处理: 1.测试代码 packa ...
随机推荐
- 消息传递(cogs 1001)
问题描述WZland开办了一个俱乐部(这里面可以干任何的事情),这引来了许多的人来加入.俱乐部的人数越来越多,关系也越来越复杂……俱乐部的人来自各个地方,为了增加友谊,俱乐部举行了一次晚会.晚会上又进 ...
- Linux下汇编语言学习笔记71 ---
这是17年暑假学习Linux汇编语言的笔记记录,参考书目为清华大学出版社 Jeff Duntemann著 梁晓辉译<汇编语言基于Linux环境>的书,喜欢看原版书的同学可以看<Ass ...
- android获取年月日时分秒
Calendar calendar=Calendar.getInstance(); //获取当前时间,作为图标的名字 String year=calendar.get(Calendar.YEAR)+& ...
- springMVC 返回中文字符串时乱码
转载自:https://blog.csdn.net/yaov_yy/article/details/51819567
- Ubuntu下的软件一般安装在哪个文件夹里
一般安装在/usr下,里面很多文件夹,根据文件的类型,分门别类,不是一个软件一个文件夹.以前老版本的Linux习惯放在/usr/local目录下. 部分软件放在/opt下,则是一个软件统一在一个文件夹 ...
- Performance Tunning - OCP
This artical is forcused on Oracle 11g Release 2. It is an summary from the OCP documentation. The ...
- 如何下载youtube的视频
1 登陆以下网址,输入视频地址,点击Download,然后右下角出现了链接,点击即可下载 http://en.savefrom.net/
- Redis源代码分析(三十)--- pubsub公布订阅模式
今天学习了Redis中比較高大上的名词,"公布订阅模式".公布订阅模式这个词在我最開始接触听说的时候是在JMS(Java Message Service)java消息服务中听说的. ...
- ChargeSystem——One,Two,Three
在提高班,大家都知道"ChargeSystem",中文名字为"机房收费系统". 在提高班,米老师的经典语录中有这么一句话:"学习是须要不断重复的过程. ...
- Nodejs创建HTTPS服务器
Nodejs创建HTTPS服务器 从零开始nodejs系列文章,将介绍如何利Javascript做为服务端脚本,通过Nodejs框架web开发.Nodejs框架是基于V8的引擎,是目前速度最快的Jav ...