fastjson2 icon indicating copy to clipboard operation
fastjson2 copied to clipboard

[BUG] 版本2.0.46 引用类型、Boolean、Short 不支持JSONWriter.Feature.WriteNulls

Open focuse8 opened this issue 1 year ago • 5 comments

问题描述

简要描述您碰到的问题。 序列化指定了JSONWriter.Feature.WriteNulls,对于Boolean、Short类型null没有正常序列号

fastjson2版本:2.0.46

附加信息

*如果你还有其他需要提供的信息,可以在这里填写(可以提供截图、视频等)。 com.alibaba.fastjson2.writer.ObjectWriterCreatorASM#gwFieldValueJSONB 不同于Integer Long String Date,其它引用生成的字节码是com.alibaba.fastjson2.writer.ObjectWriterCreatorASM#gwFieldValueObjectJSONB。这里没有对JSONWriter.Feature.WriteNulls特性进行支持

focuse8 avatar Feb 04 '24 06:02 focuse8

没有复现,你能给个可复现 demo 吗 image

rowstop avatar Feb 04 '24 09:02 rowstop

没有复现,你能给个可复现 demo 吗 image

你给bool设一个默认值 numberShort一个默认值 public static void main(String[] args) { Obj obj = new Obj(); obj.aShort = null; obj.bool = null;

    byte[] bytes = JSONB.toBytes(
            obj,
            JSONWriter.Feature.WriteNulls);


    Obj result = JSONB.parseObject(
            bytes,
            Obj.class);
}

class Obj { Boolean bool = true;

Short aShort = 12;

}

focuse8 avatar Feb 04 '24 15:02 focuse8

没复现 image

rowstop avatar Feb 05 '24 01:02 rowstop

JSONWriter.Feature.WriteNulls, JSONWriter.Feature.FieldBased

4f7da721-16ae-40b0-ade9-6472b4920cc0

focuse8 avatar Feb 05 '24 12:02 focuse8

https://oss.sonatype.org/content/repositories/snapshots/com/alibaba/fastjson2/fastjson2/2.0.47-SNAPSHOT/ 问题已修复,请帮忙用2.0.47-SNAPSHOT版本验证,2.0.47版本预计在2月底发布

wenshao avatar Feb 09 '24 03:02 wenshao

https://github.com/alibaba/fastjson2/releases/tag/2.0.47 问题已修复,请用新版本

wenshao avatar Feb 24 '24 02:02 wenshao