使用阿里的 com.alibaba.fastjson.JSON 格式化时,默认null属性会被过滤掉,可以设置不过滤null。
publicstaticStringparseScriptJsonStringWithNullValue(Objectobj) { if (obj==null|| (objinstanceofUndefined)) { returnnull; } returnJSON.toJSONString(obj, newSerializeFilter[]{scriptArrayFilter}, SerializerFeature.WriteMapNullValue); }
指定这个参数即可
SerializerFeature.WriteMapNullValue
如果方便点就直接这样写得了
JSON.toJSONString(obj, SerializerFeature.WriteMapNullValue);
Ps:还在寻找一种全局配置的方式,也就是说每次 toJSONString 的时候自动生效配置好的配置,这样不用一个一个去配了,评论区求解决方案。
属性说明
- QuoteFieldNames——输出key时是否使用双引号,默认为true
- WriteMapNullValue——是否输出值为null的字段,默认为false
- WriteNullNumberAsZero——数值字段如果为null,输出为0,而非null
- WriteNullListAsEmpty——List字段如果为null,输出为[],而非null
- WriteNullStringAsEmpty——字符类型字段如果为null,输出为”“,而非null
- WriteNullBooleanAsFalse——Boolean字段如果为null,输出为false,而非null