一、什么是fastjson?
fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。
二、如何使用
添加如下maven依赖即可:
三、fastjson默认序列化
fastjson入口类是com.alibaba.fastjson.JSON,一个最简单默认的序列化代码如下:
四、如何自定义序列化
fastjson支持多种方式自定义序列化。
1.使用序列化属性SerializerFeature
SerializerFeature常用属性如下:
常用的属性介绍完了,咱们先来看下效果,新建一个User类,代码如下:
运行类代码如下:
运行结果:
2.使用JSONField
JSONField是fastjson的一个注解,可以用在字段上,也可以用在getter/setter方法上面。
2.1 JSONField注解
注解主要内容如下:
2.2 JSONField注解配置方式
- 配置在字段上
下面直接修改代码看下效果,修改后User类如下:
测试类运行结果如下:
通过运行结果可以看到,使用@JSONField注解变化如下:
id序列化后变成了_id
- createDate格式化为yyyy-MM-dd
- 序列化后字段的顺序跟ordinal指定的一致
- 设置了serialize=false的字段age没有序列化
结果和预期一致,说明自定义序列化没有问题,到此fastjson自定义序列化的功能已经全部实现,有问题欢迎留言沟通哦!
本皮是一个有着5年工作经验的程序员,关于Java,自己有做材料的整合,一个完整学习Java的路线,学习材料和工具。需要的伙伴可以私信我,发送“交流”后就可免费获取。对于学习Java有任何问题(学习方法,学习效率,如何就业)都可以问我。希望你也能凭自己的努力,成为下一个优秀的程序员!