0
点赞
收藏
分享

微信扫一扫

toJSONString踩坑

那小那小 2023-08-11 阅读 60

toJSONString踩坑

toJSONString空值被忽略解决办法

data中部分字段值为null,在JSON.toJSONString的过程中会把null值过滤掉,最后导致转换后的数据中部分字段丢失了

解决办法:用 toJSONString(Object object, SerializerFeature… features)

JSON.toJSONString(data, SerializerFeature.WRITE_MAP_NULL_FEATURES);
  • SerializerFeature属性
名称	含义
QuoteFieldNames	输出key时是否使用双引号,默认为true
UseSingleQuotes	使用单引号而不是双引号,默认为false
WriteMapNullValue	是否输出值为null的字段,默认为false
WriteEnumUsingToString	Enum输出name()或者original,默认为false
SortField	按字段名称排序后输出。默认为false
WriteTabAsSpecial	把\t做转义输出,默认为false
PrettyForma	结果是否格式化,默认为false
WriteClassName	序列化时写入类型信息,默认为false。反序列化是需用到

toJSONString过程中时间格式丢失问题解决办法

实体类中有Date类型数据,原本已经使用了下面两个注解对时间进行格式化:

@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")

但是在toJSONString的过程中,这个时间格式丢失了,返回的数据变成了时间戳以及fastime

解决办法:toJSONStringWithDateFormat(Object object, String dateFormat, SerializerFeature… features)

JSON.toJSONStringWithDateFormat(data, "yyyy-MM-dd HH:mm:ss", SerializerFeature.WriteMapNullValue);
举报

相关推荐

Lombok踩坑

@ScedulerLock踩坑

【踩坑实录】

java踩坑

pytorch 踩坑

0 条评论