Fastjson可以处理多种数据对象,您可以将大型对象和大型json文本添加到软件处理,可以直接将Java转换为json,也可以将json转换Java对象,适合经常使用Java编程的朋友使用,大部分文本类型都可以处理,时间期格式也可以在软件处理,支持使用format配置期格式化,配置date序列化和反序列使用yyyyMMdd期格式,提供了使用注释定制序列化和反序列化的功能,可以对Java配置序列化方案;Fastjson是阿里巴巴提供的开源软件,您可以将其运行到自己的上,为用户转换Java对象提供帮助!
Fastjson软件功能
Fastjson是一个Java库,可用于将Java对象转换为其ON表示形式。它也可以用于将ON字符串转换为等效的Java对象。Fastjson可以与任意Java对象一起使用,包括您没有源代码的预先存在的对象。
Fastjson的目标:
在端和安卓客户端提供最好的能
提供简单的toONStng()和parseObject()方法,将Java对象转换成ON,反之亦然。
允许将预先存在的不可修改的对象转换为ON,或从ON中转换。
对Java泛型的广泛支持
允许自定义对象的表示方法
支持任意复杂的对象(具有深厚的继承层次和广泛使用的通用类型)
Fastjson软件特色
1、速度快
fastjson相对其他ON库的特点是快,从2011年fastjson发布1.1.x版本之后,其能从未被其他Java实现的ON库超越。
2、使用广泛
fastjson在阿里巴巴大规模使用,在数万台上部署,fastjson在业界被广泛接受。在2012年被开源评选为最受欢迎的国产开源软件之一。
3、测试完备
fastjson有非常多的testcase,在1.2.11版本中,testcase超过3321个。每次发布都会进行回归测试,保证质量稳定。
4、使用简单
fastjson的API十分简洁。
Stng text = ON.toONStng(obj); //序列化
VO vo = ON.parseObject("{...}", VO.class); //反序列化
5、功能完备
支持泛型,支持流处理超大文本,支持枚举,支持序列化和反序列化扩展。
Fastjson使用说明
在Spng中集成Fastjson
在Spng MVC中集成Fastjson
如果您使用Spng MVC来构建Web应用程序能有更高的要求的话,可以使用Fastjson提供的FastJsonHttpMessageConverter来替换Spng MVC默认的HttpMessageConverter 以提高@RestContller @ResponseBody @RequestBody注释解的ON序列化速度。下面是配置方式,非常简单。
XML样式
如果是使用XML的方式配置Spng MVC的话,只需在Spng MVC的XML配置文件中加入以下配置即可。
通常通常配置已经可以满足大部分使用场景,如果你想对它进行自定义配置的话,你可以添加FastJsonConfigBean。
编程式
如果是使用编程的方式(通常是基于Spng Boot项目)配置Spng MVC的话只需继承WebMvcConfigurerAdapter覆写configureMessageConverters方法即可,就像下面这样。
注:如果您使用的Fastjson版本小于1.2.36的话(强烈建议使用最新版本),在与Spng MVC 4.X版本集成时需使用FastJsonHttpMessageConverter4。
注2:SpngBoot 2.0.1版本中加载WebMvcConfigurer的顺序发生了变化,故需使用converters.add(0, converter);指定FastJsonHttpMessageConverter在转换器内部的顺序,否则在SpngBoot 2.0.1及之后的版本中将优先使用Jackson处理
对ONP支持
使用注解@ResponseONP修饰类或具体方法:
XML样式
bean id = “ jsonpResponseBodyAdvice ” class = “ com.alibaba.fastjson.support.spng.ONPResponseBodyAdvice ” />
编程式
在Spng Data Redis中集成Fastjson
通常我们在Spng中使用Redis是通过Spng Data Redis提供的RedisTemplate来进行的,如果你准备使用ON作为对象序列/反序列化的方式串行序列化速度有更高的要求的话,建议使用Fastjson提供的GenecFastJsonRedisSealizer或FastJsonRedisSealizer作为RedisTemplate的RedisSealizer。下面是配置方式,非常简单。
XML样式
如果是使用XML的方式配置Spng Data Redis的话,只需将RedisTemplate中的替换Sealizer为GenecFastJsonRedisSealizer即可。
下面是完整的Spng集成Redis配置供参考。
编程式
如果是使用编程的方式(通常是基于Spng Boot项目)配置RedisTemplate的话直接在你的配置类(被@Configuration注解修饰的类)中显式创建RedisTemplateBean,设置Sealizer即可。
通常使用GenecFastJsonRedisSealizer即可满足大部分场景,如果你想定义特定类型专用的RedisTemplate可以使用FastJsonRedisSealizer来代替GenecFastJsonRedisSealizer,配置是类似的。
近期热门