-
Notifications
You must be signed in to change notification settings - Fork 550
Description
请描述您的问题
我们应用fastjson1.x升级为fastjson2.x之后,字段注解上的serializeFeatures = JSONWriter.Feature.WriteNullNumberAsZero 失效了,原先fastjson1.x 会正确将所有Number为null时返回0。
当通过 JSON.toJSONString(new NumberDTO(),JSONWriter.Feature.WriteNullNumberAsZero),所有Number为null时会正确返回0;
当通过:JSON.toJSONString(new NumberDTO()) ,即使加了注解,也只有Integer类型的输出0。
请问如何使字段注解上的Feature生效?
@DaTa
public class NumberDTO implements Serializable {
@JSONField(serializeFeatures = JSONWriter.Feature.WriteNullNumberAsZero)
private BigDecimal bigDecimal;
@JSONField(serializeFeatures = JSONWriter.Feature.WriteNullNumberAsZero)
private Integer integer;
@JSONField(serializeFeatures = JSONWriter.Feature.WriteNullNumberAsZero)
private Double wrapperDouble;
@JSONField(serializeFeatures = JSONWriter.Feature.WriteNullNumberAsZero)
private Float wrapperFloat;
@JSONField(serializeFeatures = JSONWriter.Feature.WriteNullNumberAsZero)
private Long wrapperLong;
@JSONField(serializeFeatures = JSONWriter.Feature.WriteNullNumberAsZero)
private Byte byteValue;
@JSONField(serializeFeatures = JSONWriter.Feature.WriteNullNumberAsZero)
private Short wrapperShort;
@JSONField(serializeFeatures = JSONWriter.Feature.WriteNullNumberAsZero)
private BigInteger bigInteger;
@JSONField(serializeFeatures = JSONWriter.Feature.WriteNullNumberAsZero)
private Number number;
}