天天看点

使用fastjson 过滤控制的一点小体会

当使用 toJSONString() 这个方法时,会默认把对象中的null属性的值过滤掉。我们有时候就需要这些null。只需要按照下面的方法即可

方法 一 :设置转换时不过滤null (网上查的大多都是这种)

QuoteFieldNames———-输出key时是否使用双引号,默认为true

WriteMapNullValue——–是否输出值为null的字段,默认为false

WriteNullNumberAsZero—-数值字段如果为null,输出为0,而非null

WriteNullListAsEmpty—–List字段如果为null,输出为[],而非null

WriteNullStringAsEmpty—字符类型字段如果为null,输出为”“,而非null

WriteNullBooleanAsFalse–Boolean字段如果为null,输出为false,而非null

JSONObject.toJSONString(jsonMap,SerializerFeature.WriteMapNullValue);

方法二 :使用@JSONField标签,用来指定字段不过滤

在字段上加这个注解,当字段为空时,也会返回。

   @JSONField(serialzeFeatures = SerializerFeature.WriteMapNullValue)

    private Long passengerId;