![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
FastJSON
挖坑埋你
这个作者很懒,什么都没留下…
展开
-
fastjson(一)简要介绍
本篇博客内容整理自 alibaba git一、什么是fastjsonfastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。二、fastjson的优点2.1 速度快fastjson相对其他JSON库的特点是快,从2011年fastjson发布1原创 2018-01-25 20:27:29 · 3552 阅读 · 0 评论 -
fastjson(十一)使用SimplePropertyPreFilter过滤属性
需要根据不同的环境返回定制化返回属性时,可以使用SimplePropertyPreFilter。SimplePropertyPreFilter的代码接口如下:public class SimplePropertyPreFilter implements PropertyPreFilter { public SimplePropertyPreFilter(String..原创 2018-01-27 14:47:16 · 8122 阅读 · 0 评论 -
fastjson(十)JSONPath 的使用(二)
要解析的 json:{ "store": { "book": [ { "title": "高效Java", "price": 10 }, { "title": "研磨设计模式", "price": 12 }, { "title": "重构"原创 2018-01-27 14:21:54 · 6493 阅读 · 0 评论 -
fastjson(九)JSONPath 的使用(一)
fastjson 1.2.0之后的版本支持JSONPath。这是一个很强大的功能,可以在java框架中当作对象查询语言(OQL)来使用。一、JSONPath API 介绍package com.alibaba.fastjson;public class JSONPath { // 求值,静态方法 public static Object原创 2018-01-27 14:16:01 · 10488 阅读 · 0 评论 -
fastjson(八)将对象中的空值输出
在fastjson中,缺省是不输出空值的。无论Map中的null和对象属性中的null,序列化的时候都会被忽略不输出,这样会减少产生文本的大小。但如果需要输出空值怎么做呢?使用SerializerFeature.WriteMapNullValue:Model obj = ...;JSON.toJSONString(obj, SerializerFeature.WriteMapNullVa原创 2018-01-27 13:33:39 · 8811 阅读 · 0 评论 -
fastjson(四)JSONField 和 JSONType 介绍
一、JSONField 介绍注意:1、若属性是私有的,必须有set*方法。否则无法反序列化。package com.alibaba.fastjson.annotation;public @interface JSONField { // 配置序列化和反序列化的顺序,1.1.42版本之后才支持 int ordinal() default 0; // 指定字原创 2018-01-25 21:43:10 · 12405 阅读 · 0 评论 -
fastjson(七)处理超大对象和超大JSON文本
当需要处理超大JSON文本时,需要Stream API,在fastjson-1.1.32版本中开始提供Stream API。来看一下示例代码:示例对象:package json.fastjson.StreamApi;import java.util.HashMap;import java.util.Map;public class VO { private i原创 2018-01-27 13:14:03 · 26085 阅读 · 0 评论 -
fastjson(六)通过ParseProcess定制反序列化
ParseProcess是编程扩展定制反序列化的接口。fastjson支持如下ParseProcess:ExtraProcessor 用于处理多余的字段;ExtraTypeProvider 用于处理多余字段时提供类型信息。下面来看示例代码:示例对象:package json.fastjson.ParseProcess;import java.util.HashMap;原创 2018-01-27 12:50:10 · 7607 阅读 · 0 评论 -
fastjson(五)通过SerializeFilter定制序列化
通过SerializeFilter可以使用扩展编程的方式实现定制序列化。fastjson提供了多种SerializeFilter:PropertyPreFilter 根据PropertyName判断是否序列化;PropertyFilter 根据PropertyName和PropertyValue来判断是否序列化;NameFilter 修改Key,如果需要修改Key,process返回值则原创 2018-01-26 09:29:13 · 17335 阅读 · 0 评论 -
fastjson(二)基本使用
本节我们来介绍一下 fastjson 的基本使用一、主要APIfastjson入口类是com.alibaba.fastjson.JSON,主要的API是JSON.toJSONString,和parseObject。package com.alibaba.fastjson;public abstract class JSON { public static fi原创 2018-01-25 20:46:30 · 662 阅读 · 0 评论 -
fastjson(三)处理日期
本节我们来简单介绍一下fastjson对日期的处理fastjson处理日期的API很简单,例如:JSON.toJSONStringWithDateFormat(date, "yyyy-MM-dd HH:mm:ss.SSS");使用ISO-8601日期格式JSON.toJSONString(obj, SerializerFeature.UseISO8601DateForma原创 2018-01-25 20:55:12 · 23841 阅读 · 0 评论 -
fastjson(十二)Class_Level_SerializeFilter
对于框架来说,如果在toJSONString的时候,传入SerializeFilter,会导致对所有的类型做过滤,性能会受到一定影响。在1.2.10版本之后,fastjson提供类级别的SerializeFilter支持。Interfacepackage com.alibaba.fastjson.serializer;public class SerializeConfig {原创 2018-01-27 14:50:41 · 718 阅读 · 0 评论