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 ...
随机推荐
- [K/3Cloud] 如何在k3Cloud主页实现自定义页面的开发
过自定义页签动态添加一些内容,比如网页链接.图片等. 如果是动态的增加链接,可以参考一下代码,然后在ButtonClick事件里面对链接进行处理. public override void After ...
- [K/3Cloud] KSQL 关联表更新字段Update语法
关联表更新字段 UPDATE tmp369faa3f7d224b0595670425008 as t1 SET FStatus=-1 where exists(select 1 from t_BD_S ...
- 如何将jsp后缀重写为html
公司有时候要写一些小的项目,而用java搭建web的一个缺(特)陷(征)就是动态网页的后缀名.jsp.没办法啊,就是不能以.jsp结尾,原因有几个:隐藏服务端技术:吸引爬虫:对用户更友好:等等.如果全 ...
- 【BZOJ4398】福慧双修(二进制,最短路)
题意: 此题中S=1 思路:Orz ManGod秒切此题 我觉得出入边权互换不太直观,就改了一下写法 第一次默认与1有关的第一条出边只出不入,第二次默认只入不出 ..]of longint; head ...
- 简单解决 WIN10更新后 远程桌面提示 CredSSP加密Oracle修正的问题
更新WIN10后,打开远程桌面,提示: 以 管理员身份打开 cmd或者PowerShell,贴入: REG ADD HKLM\Software\Microsoft\Windows\CurrentVer ...
- Entity Framework性能影响因素分析
1.对象管理机制-复杂为更好的管理模型对象,EF提供了一套内部管理机制和跟踪对象的状态,保存对象一致性,使用方便,但是性能有所降低. 2.执行机制-高度封装在EF中,所有的查询表达式都会经过语法分析. ...
- C#中方法的详解
访问修饰符 修饰符 返回值类型 方法名(参数列表){ 语句块;} 访问修饰符:所有类成员访问修饰符都可以使用,如果省略访问修饰符,默认是private. 修饰符:在定义方法时修饰符包括virtual( ...
- 黑马程序猿——JAVA基础——IO流
----------android培训.java培训.java学习型技术博客.期待与您交流!------------ 一. 一.IO流的三种分类方式 1.按流的方向分为:输入流和输出流 2.按流的数 ...
- ZOJ 3209 Treasure Map (Dancing Links 精确覆盖 )
题意 : 给你一个大小为 n * m 的矩形 , 坐标是( 0 , 0 ) ~ ( n , m ) .然后给你 p 个小矩形 . 坐标是( x1 , y1 ) ~ ( x2 , y2 ) , 你选 ...
- U4699 鸡蛋
U4699 鸡蛋 0通过 37提交 题目提供者飞翔 标签 难度尚无评定 提交 最新讨论 暂时没有讨论 题目背景 调皮的kkk准备恶搞他的同学兼朋友——你! 题目描述 kkk准备从楼上扔鸡蛋下来砸在lz ...