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"}}
时间: 2024-10-10 14:24:27

Spring MVC返回的json如何去除根节点名称的相关文章

Spring MVC返回对象JSON

@RestController 用于返回对象,会自动格式化为JSON @RequestMapping("/user2") public User2 user2(Model model){ model.addAttribute("content", hello + "(第二种)"); User2 user=new User2(); user.setId(1); user.setName("tomas"); user.setPwd

spring mvc返回json字符串数据,只需要返回一个java bean对象就行,只要这个java bean 对象实现了序列化serializeable

1.spring mvc返回json数据,只需要返回一个java bean对象就行,只要这个java bean 对象实现了序列化serializeable 2. @RequestMapping(value = { "/actor_details" }, method = { RequestMethod.POST }) @ResponseBody public ResultObject actorDetails(@RequestBody ActorDetailsRequest req)

spring mvc返回json字符串的方式

spring mvc返回json字符串的方式 方案一:使用@ResponseBody 注解返回响应体 直接将返回值序列化json            优点:不需要自己再处理 步骤一:在spring-servlet.xml文件中配置如下代码 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans&quo

关于 Spring MVC 返回 json 字符串

Spring MVC 返回 json 字符串的几种方式: 1.通过 @ResponseBody 注解自动将返回对象转为 json,这种方法需要 jackson-core.jar 等相关 jar 包支持,项目如果通过 maven 管理,直接在 maven 中加入依赖: ,这样在 maven 依赖中会新增完整的三个 jar 包: 2.在 spring-MVC 配置文件中进行默认视图配置: 3.借助其他 json 工具进行转换:比如可以使用 gson 来完成转换,当然这种方式也得需要 gson 的相关

Spring MVC返回json视图时,如何将对象直接序列化成不带变量名做为根节点

Spring MVC返回json视图时,如何将对象直接序列化成不带变量名做为根节点的 json 报文 问题 问题描述起来比较拗口,其实就是用Spring MVC时,如何将对象映射成 json 报文时不把对象作为json的根节点.即使用@ResponseBody的效果. 比如,默认情况下,使用ModelAndView的addObject(key,object)或者ModelMap的addAttribute(key,object)保存完Java对象,然后交给Srping的视图解析器解析成json时,

IntelliJ IDEA:Getting Started with Spring MVC, Hibernate and JSON实践

最近把编辑器换成IntelliJ IDEA,主要是Eclipse中处理Maven项目很不方便,很早就听说IntelliJ IDEA的大名了,但是一直没机会试试.最近终于下载安装了,由于是新手,决定尝试个Tutorials,最终找了个熟悉点的项目,就是Getting Started with Spring MVC, Hibernate and JSON(http://confluence.jetbrains.com/display/IntelliJIDEA/Getting+Started+with

[转]Spring MVC 学习笔记 json格式的输入和输出

Spring mvc处理json需要使用jackson的类库,因此为支持json格式的输入输出需要先修改pom.xml增加jackson包的引用 <!-- json --> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-core-lgpl</artifactId> <version>1.8.1</version>

Spring MVC 返回类型为字符串时, 返回中文变成&quot;?&quot;处理

Spring MVC 返回类型为字符串时, 返回中文变成"?"处理 Spring controller 如下 @Controller public class SimpleController { @ResponseBody @RequestMapping(value = "/hotel") public String hotel() { return "{\"status\":0,\"errmsg\":null,\

[转]spring mvc 返回值类型设定

今天遇到一个上传文件遇到的问题,在IE7和8下面会在上传完成后,弹出下载框. 查到的原因是返回值类型是json,返回头部content-type是:application/json,需要更改其返回的信息头为text/html. 还有一个问题是,返回类型是text/plain时,返回的值会被<pre></pre>标签包起来,影响前端解析. 方法一: @RequestMapping(value = "/excelUploadtest", method = Reque