fastjson2 icon indicating copy to clipboard operation
fastjson2 copied to clipboard

java.sql.Timestamp序列化丢失类型

Open liujunjie2009 opened this issue 2 months ago • 0 comments

问题描述

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”

liujunjie2009 avatar Jun 17 '24 18:06 liujunjie2009