springMVC返回json,出现时Null属性不显示的解决方法

springMVC返回对象的时候,其实是把对象转化为json,依靠的是spring-mvc.xml

id="fastJsonHttpMessageConverter" class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
    name="supportedMediaTypes">
        
            text/html;charset=UTF-8
            text/plain;charset=UTF-8
            application/json;charset=UTF-8
        
    
来控制,你进入FastJsonHttpMessageConverter类的时候会看到一个参数features,这个参数是需要用到fastjson的SerializerFeature序列化属性。

Fastjson的SerializerFeature序列化属性

QuoteFieldNames———-输出key时是否使用双引号,默认为true

WriteMapNullValue——–是否输出值为null的字段,默认为false

WriteNullNumberAsZero—-数值字段如果为null,输出为0,而非null

WriteNullListAsEmpty—–List字段如果为null,输出为[],而非null

WriteNullStringAsEmpty—字符类型字段如果为null,输出为”“,而非null

WriteNullBooleanAsFalse–Boolean字段如果为null,输出为false,而非null

所以 spring-mvc.xml要改成

id="fastJsonHttpMessageConverter" class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
    name="supportedMediaTypes">
        
            ${web.content.html.type}
            ${web.content.text.type}
            ${web.content.json.type}
        
    
    name="features">
        
            WriteMapNullValue
            QuoteFieldNames
        
    

你可能感兴趣的:(spring)