先来看一段序列化的代码
1 | public class FastJsonTest { |
toJSONString 有很多重构的方法:
SerializerFeature: 在其中可以定义序列化成json串的时候的各种特性
- SerializerFeature.BrowserCompatible 标示兼容游览器
- SerializerFeature.WriteNonStringKeyAsString 将非字符串类型的key当成字符串来处理
使用上面两种中的任意一种都会为key加上双引号。
SerializeFilter: 定制序列化,它是一个接口,fastjson中预定义了部分常用的filter
- PropertyPreFilter 根据PropertyName判断是否序列化
- PropertyFilter 根据PropertyName和PropertyValue来判断是否序列化
- NameFilter 修改Key,如果需要修改Key,process返回值则可
- ValueFilter 修改Value
- BeforeFilter 序列化时在最前添加内容
- AfterFilter 序列化时在最后添加内容
更多序列化信息请参考:https://github.com/alibaba/fastjson/wiki/%E5%AE%9A%E5%88%B6%E5%BA%8F%E5%88%97%E5%8C%96
反序列化请参考:https://github.com/alibaba/fastjson/wiki/ParseProcess