问题:fastjson的api种,JsonString(),当值为null时,没打印出来
代码
JSONObject jsonObject =new JSONObject();
jsonObject.put("id",null);
jsonObject.put("class","12");
jsonObject.put("name","");
// 使⽤默认序列化⽅式打印
System.out.JSONString());
// 使⽤指定序列化⽅式
System.out.JSONString(jsonObject,SerializerFeature.WriteMapNullValue));
输出
{"name":"","class":"12"}
{"id":null,"name":"","class":"12"}
可以发现,使⽤默认⽅式时,id没有打印null,指定序列化SerializerFeature.WriteMapNullValue,会打印null
可以看到
看下SerializerFeature属性
名称含义
QuoteFieldNames输出key时是否使⽤双引号,默认为true
UseSingleQuotes使⽤单引号⽽不是双引号,默认为false
WriteMapNullValue是否输出值为null的字段,默认为false WriteEnumUsingToString Enum输出name()或者original,默认为false SortField按字段名称排序后输出。默认为false WriteTabAsSpecial把\t做转义输出,默认为false
PrettyForma结果是否格式化,默认为false
object toWriteClassName序列化时写⼊类型信息,默认为false。反序列化是需⽤到

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。