6
回答
SpringMVC4 ResponseBody json 如何配置返回null而不是空字符串
滴滴云服务器,限时包月0.9元,为开发者而生>>>   
    @GetMapping("/test.do")
    @ResponseBody
    public Map<String, Object> test() {
        Map<String, Object> map = new HashMap<>();
        map.put("aa", 11);
        return null;
    }

前端请求会看到空白,单是jQuery Ajax无法解析这种JSON、会导致 parseerror。

javascript:

JSON.parse("") 执行会报错。

JSON.parse(null) 或者 JSON.parse('null') 执行正常。

Spring MVC 配置:

    <mvc:annotation-driven>
        <mvc:message-converters>
            <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_ABSENT</value>
                        </property>
                    </bean>
                </property>
            </bean>
        </mvc:message-converters>
    </mvc:annotation-driven>

Include 的都值尝试了都不能让ResponseBody返回null而不是空字符串。

<无标签>
举报
蓝水晶飞机
发帖于5天前 6回/71阅
顶部