fastjson配置类FastJsonConfig
阅读数:273 评论数:0
跳转到新版页面分类
python/Java
正文
一、概述
FastJsonConfig是用于配置FastJson序列化和反序列化的配置类。它可以设置各种序列化和反序列化的参数,包括日期格式、序列化特性、过滤器、自定义序列化器和反序列化器等。
二、序列化特性
序列化特性用于控制JSON输出格式,例如禁用循环引用、输出空置字段、美化输出格式等。SerializerFeature是一个枚举类型,它包括很多选项。
PrettyFormat | 美化输出格式,使其更易读。 |
WriteMapNullValue | 输出空置字段,默认为false。 |
DisableCircularReferenceDetect | 禁用循环引用,默认为false。 |
WriteDateUseDateFormat | 按指定格式输出日期,例如yyyy-MM-dd HH:mm:ss。 |
FastJsonConfig fastJsonConfig = new FastJsonConfig();
fastJsonConfig.setSerializerFeatures(
SerializerFeature.PrettyFormat,
SerializerFeature.WriteMapNullValue,
SerializerFeature.DisableCircularReferenceDetect,
SerializerFeature.WriteDateUseDateFormat
);
二、日期格式
FastJson默认使用ISO-8601格式输出日期,例如"2019-12-01T12:00:00.000Z"。我们可以通过设置DateFormat来指定输出格式,例如"yyyy-MM-dd HH:mm:ss"。
FastJsonConfig fastJsonConfig = new FastJsonConfig();
fastJsonConfig.setDateFormat("yyyy-MM-dd HH:mm:ss");
三、过滤器
过滤器可以用于在序列化时进行字段过滤、属性重命名等操作。FastJson提供了多种过滤器,例如PropertyPreFilter、NameFilter、ValueFilter、BeforeFilter、AfterFilter等。
FastJsonConfig fastJsonConfig = new FastJsonConfig();
PropertyPreFilter propertyPreFilter = new SimplePropertyPreFilter(User.class, "id", "name", "age");
fastJsonConfig.setSerializeFilters(propertyPreFilter);
四、自定义序列化和反序列化器
如果需要对某些类型的数据进行特殊处理,可以通过自定义序列化器和反序列化器来实现。我们可以继承Serializer和Deserializer接口,实现serialize和deserialize方法,然后将自定义的序列化器和反序列化器注册到FastJsonConfig中。
public class DateSerializer extends JsonSerializer<Date> {
@Override
public void serialize(Date date, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String str = sdf.format(date);
jsonGenerator.writeString(str);
}
相关推荐
public class User {
@JSONField(name = "userId")
private int id;
@JSONField(serialize =
一、概述
1、序列化的作用
个人理解它的主要作用是为了对象可以跨平台存储和进行网络传输,在网络传输的时候,我们需要经过 IO,而 IO 传输支持的就是字节数组这种格式,所以序列化过后可以更好的传输。
一、默认日期序列化
1、fastjson默认使用的序列格式
public static String DEFFAULT_DATE_FORMAT = "yyyy-MM-dd HH:m
一、Java对象转JSON
System.out.println("~~~~~~~~~~~ 1.Java对象 转 Json字符串 ~~~~~~~~~~~");
String ju = JSON.toJ
在线程组右键,添加一个HTTP信息头管理器。
Content-Type=application/json
在HTTP请求页面设置编码为 UTF-8.把json格式的参
在windows环境下cmd运行jar包默认使用GBK编码格式,而我们一般使用utf-8
所以在cmd下启动jar包时可以指定编码格式
java -Dfile.encoding=UTF-8 -ja
一、@JsonFormat
1、作用
约束时间的接收格式和响应格式(接收和响应的都是JSON字符串),用于在JSON和java.util.Date之间约束,注意因为我们在东八区,使用时需要加上时区(
一、示例数据
CREATE TABLE `json_test` (
`id` int NOT NULL AUTO_INCREMENT,
`roles` json DEFAULT NULL CO