1.检查config-mybatis.xml配置<setting name="callSettersOnNulls" value="true" /> 加上
2.检查spring-mvc.xml里面WriteNullStringAsEmpty加上
<bean id="fastJsonConfig" class="com.alibaba.fastjson.support.config.FastJsonConfig"> <property name="serializerFeatures"> <list> <value>DisableCircularReferenceDetect</value> <value>WriteMapNullValue</value> <!--输出Map中的null值 --> <value>WriteNullListAsEmpty</value> <!-- 引用为null的列表/数组/集合输出为[] --> <value>WriteNullStringAsEmpty</value> <!-- 引用为null的String输出为“” --> <value>WriteNullNumberAsZero</value> <!-- 引用为null的数字类型输出为0 --> <value>WriteNullBooleanAsFalse</value> <!-- 引用为null的Boolean输出为false --> <value>WriteDateUseDateFormat</value> </list> </property> <property name="dateFormat" value="yyyy-MM-dd HH:mm:ss"></property> </bean>
3阿里巴巴json转换去掉了null,加上SerializerFeature.WriteMapNullValue保留字段
com.alibaba.fastjson.JSONArray jsonArray = com.alibaba.fastjson.JSONArray.parseArray(JSON.toJSONString(listCgsByPhone, SerializerFeature.WriteMapNullValue));
JSONObject.toJSONString(Object object, SerializerFeature... features)
Fastjson的SerializerFeature序列化属性
QuoteFieldNames———-输出key时是否使用双引号,默认为true
WriteMapNullValue——–是否输出值为null的字段,默认为false
WriteNullNumberAsZero—-数值字段如果为null,输出为0,而非null
WriteNullListAsEmpty—–List字段如果为null,输出为[],而非null
WriteNullStringAsEmpty—字符类型字段如果为null,输出为”“,而非null
WriteNullBooleanAsFalse–Boolean字段如果为null,输出为false,而非null