spring 注解 @ResponseBody 返回JSON 能不能设置他不返回为 null 的值

spring 注解 @ResponseBody 返回 JSON 能不能设置他不返回为 null 的值

java    @RequestMapping(value="/{username}",method=RequestMethod.GET,params="json")
    @ResponseBody
    public User show(@PathVariable String username) {
        return users.get(username);
    }
阅读 19.7k
5 个回答

设置jackson忽略null

<mvc:annotation-driven>
    <mvc:message-converters register-defaults="true">
        <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
            <property name="objectMapper">
                <bean class="com.fasterxml.jackson.databind.ObjectMapper">
                    <property name="serializationInclusion">
                        <value type="com.fasterxml.jackson.annotation.JsonInclude.Include">NON_NULL</value>
                    </property>
                </bean>
            </property>
        </bean>
    </mvc:message-converters>
</mvc:annotation-driven>

可以在页面显示的时候使用三目,读取如果是null就输出空字符

其实直接在application.properties中加入spring.jackson.serialization-inclusion=NON_NULL就可以了

spring.jackson.defaultPropertyInclusion=NON_NULL
应该是这样的 睡了一觉发现我使用的时候把楼上的改了。。尴尬脸

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏