fastjson2
fastjson2 copied to clipboard
java.sql.Timestamp序列化丢失类型
问题描述
java.sql.Timestamp类型序列化时,使用JSONWriter.Feature.WriteClassName依然会丢失类型,反序列化后认为是字符串,但“java.util.Date"不会,从序列化的字符串来看,“java.util.Date"有特殊处理,java.sql.Timestamp没有?
环境信息
请填写以下信息:
- OS信息: Mac
- JDK信息:jdk17
- 版本信息:Fastjson2 2.0.51
重现步骤
String timestampOut = JSON.toJSONString(new java.sql.Timestamp(new Date().getTime()),
JSONWriter.Feature.WriteClassName);
System.out.println(JSON.parseObject(timestampOut, Object.class).getClass());
String dateOut = JSON.toJSONString(new Date(), JSONWriter.Feature.WriteClassName);
System.out.println(JSON.parseObject(dateOut, Object.class).getClass());
期待的正确结果
timestampOut的输出为“class java.sql.Timestamp”,现在的输出的是“class java.lang.String”