fastjson序列化时不输出值为null的字段
2017-01-01 00:00
816 查看
摘要: fastjson对javabean进行序列化时,默认不输出值为null的字段
从输出结果可以看出,null对应的key已经被过滤掉;这明显不是我们想要的结果,这时我们就需要用到fastjson的SerializerFeature序列化属性
也就是这个方法:
SerializerFeature有用的一些枚举值
现在加上
Map < String , Object > jsonMap = new HashMap< String , Object>(); jsonMap.put("a",1); jsonMap.put("b",""); jsonMap.put("c",null); jsonMap.put("d","wuzhuti.cn"); String str = JSONObject.toJSONString(jsonMap); System.out.println(str); //输出结果:{"a":1,"b":"",d:"wuzhuti.cn"}
从输出结果可以看出,null对应的key已经被过滤掉;这明显不是我们想要的结果,这时我们就需要用到fastjson的SerializerFeature序列化属性
也就是这个方法:
JSONObject.toJSONString(Object object, SerializerFeature... features)
SerializerFeature有用的一些枚举值
QuoteFieldNames———-输出key时是否使用双引号,默认为true WriteMapNullValue——–是否输出值为null的字段,默认为false WriteNullNumberAsZero—-数值字段如果为null,输出为0,而非null WriteNullListAsEmpty—–List字段如果为null,输出为[],而非null WriteNullStringAsEmpty—字符类型字段如果为null,输出为”“,而非null WriteNullBooleanAsFalse–Boolean字段如果为null,输出为false,而非null
现在加上
Map < String , Object > jsonMap = new HashMap< String , Object>(); jsonMap.put("a",1); jsonMap.put("b",""); jsonMap.put("c",null); jsonMap.put("d","wuzhuti.cn"); String str = JSONObject.toJSONString(jsonMap,SerializerFeature.WriteMapNullValue); System.out.println(str); //输出结果:{"a":1,"b":"","c":null,"d":"wuzhuti.cn"}
相关文章推荐
- fastjson @JSONField自定义输出字段
- fastjson @JSONField自定义输出字段
- fastjson序列化数据为空的字段如何处理的问题
- json序列化时,不序列化值为null和""的字段
- json序列化时,不序列化值为null和""的字段
- Jackson 转换JSON,SpringMVC ajax 输出,当值为null或者空不输出字段@JsonInclude
- [小技巧]fastjson序列化属性字段排序问题。
- fastjson序列化 将Null设置为空字符串等问题
- C#里XML(JSON)序列化时,自动隐藏值为Null的成员的输出
- fastjson:javabean按字段(field)序列化存储为Map并反序列化改进
- Spring MVC中用@ResponseBody转json,字段为NULL或者为空不参加序列化方法汇总
- fastjson:javabean按字段(field)序列化存储为Map并反序列化
- fastjson如何指定字段不序列化
- fastJson在bean中加入@JsonProperty转换出的对象中依然有字段为null的处理
- fastjson反序列化一个字段有多个set方法时的问题
- fastjson深度源码解析- 序列化(三) - 序列化字段属性键值对
- fastjson 序列化 忽略 某个字段
- fastjson序列化hibernate代理和延迟加载对象出现no session异常的解决办法
- Fastjson的SerializerFeature序列化属性
- FastJson 输出值 首字母大小写问题