阿⾥巴巴fastjson转换对象时属性为空null的处理为空串的解决
办法
在使⽤阿⾥巴巴的插件返回对象是,如果需要对其进⾏json格式化⼀下,默认是不反回null属性的,当然可以设置的,使⽤重载⽅法
注意是使⽤SerializerFeature.WriteMapNullValue序列化规则
这⾥介绍⼀下JSONString(Object object, features)的具体序列化机制
QuoteFieldNames———-输出key时是否使⽤双引号,默认为true
WriteMapNullValue——–是否输出值为null的字段,默认为false
WriteNullNumberAsZero—-数值字段如果为null,输出为0,⽽⾮null
WriteNullListAsEmpty—–List字段如果为null,输出为[],⽽⾮null
WriteNullStringAsEmpty—字符类型字段如果为null,输出为”“,⽽⾮null
WriteNullBooleanAsFalse–Boolean字段如果为null,输出为false,⽽⾮null
其中WriteNullStringAsEmpty序列化没有按照预期,估计是bug,或者和spring mvc框架的不兼容导致的也可能,但是⽤什么办法解决呢,答案是使⽤过滤器
private ValueFilter filter = new ValueFilter() {
@Override
public Object process(Object obj, String s, Object v) {
if(v==null)
return "";
return v;
}
};
补充:
//json字符串数组转java集合(如果从redis获取到的是下⾯的格式的user,那么@ResponseBody会继续处理这个字符串,导致转义"\),如下解决⽅法可⾏
String user="[{"name":"zxx","age":18},{"name":"zcytz","age":5}]";
List<User> = JSONArray.String(), User.class);
⽅便转换
>object to

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