Spring MVC返回的json怎么去除根节点名称

Spring MVC返回的json如何去除根节点名称

spring xml中配置视图如果是如下

<property name="defaultViews">
            <list>
                <bean class="org.springframework.web.servlet.view.json.MappingJackson2JsonView">
                </bean>
            </list>
        </property>

那么返回结果会是:

{"commonAjaxResponse":{"code":1,"errorCode":null,"errorMessage":null,"data":{"key":"123"}}}

其中commonAjaxResponse并不是我们想要的。

注意到MappingJackson2JsonView的属性extractValueFromSingleKeyModel的API说明,可以设置该属性为true来解决。

<property name="defaultViews">
            <list>
                <bean
                    class="org.springframework.web.servlet.view.json.MappingJackson2JsonView">
                    <property name="extractValueFromSingleKeyModel" value="true" />
                </bean>
            </list>
        </property>

搞定:

{"code":1,"errorCode":null,"errorMessage":null,"data":{"key":"123"}}