很多人再输入json串的时候,想控制输出文字内容,比如不输出空,莫名其妙空对象就没有字段了,默认集合等,fastjson是有提供方法的
QuoteFieldNames———-输出key时是否使用双引号,默认为true
WriteMapNullValue——–是否输出值为null的字段,默认为false
WriteNullNumberAsZero—-数值字段如果为null,输出为0,而非null
WriteNullListAsEmpty—–List字段如果为null,输出为[],而非null
WriteNullStringAsEmpty—字符类型字段如果为null,输出为"",而非null
WriteNullBooleanAsFalse–Boolean字段如果为null,输出为false,而非null
使用方式
JSONObject.toJSONString(Object object, SerializerFeature... features)
后面的SerializerFeature过滤器,就是各种条件的定义
String str = JSONObject.toJSONString(jsonMap,SerializerFeature.WriteMapNullValue,SerializerFeature.WriteNullStringAsEmpty);
这样就可以自定义输出json格式了
fastjson还支持对象@JSONField(serialize=false)来过滤字段