-
(急)Spring3 注解@ResponseBody如何返回正确的JSON数组5
利用Spring3注解返回JSON数组
@RequestMapping(value = "/test") @ResponseBody public List testHandler(HttpServletRequest request){ Fault fault = new Fault(); fault.setPlineId(1); fault.setPlineName("s1"); Fault fault1 = new Fault(); fault1.setPlineId(2); fault1.setPlineName("ppppp"); List list = new ArrayList(); list.add(fault); list.add(fault1); return list; }
前台采用jquery EasyUI的Grid控件,结果一直无法输出数据,查看后台,发现Spring3有数据输出,但输出的数据格式似乎不符合标准的JSON数据格式
Eclipse控制台输出:
[DEBUG]-2011-01-12 11:39:36,406-org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter -Written [[{PLineID=1, MachineID=1, FaultID=9, FaultCount=12, plineName=纸板1, machineName=整理机1, stateName=故障}, {PLineID=1, MachineID=1, FaultID=10, FaultCount=2, plineName=纸板1, machineName=2整理机, stateName=故障}]] as "application/json" using [org.springframework.http.converter.json.MappingJacksonHttpMessageConverter@d51a54]
2011年1月12日 11:55
1个答案 按时间排序 按投票排序
-
配置一:
@RequestMapping(value="/sys/functiontree",produces="text/plain;charset=UTF-8")
@ResponseBody
public String testHandler()
配置二:
<!-- 启动SpringMVC的注解功能,完成请求和注解POJO的映射 -->
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<list>
<ref bean="stringHttpMessageConverter" />
<ref bean="jsonHttpMessageConverter" />
<!-- <ref bean="marshallingHttpMessageConverter" /> -->
</list>
</property>
</bean>
<bean id="stringHttpMessageConverter" class="org.springframework.http.converter.StringHttpMessageConverter" >
<property name = "supportedMediaTypes">
<list>
<value>text/plain;charset=UTF-8</value>
</list>
</property>
</bean>
<bean id="jsonHttpMessageConverter"
class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>application/json</value>
</list>
</property>
</bean>
<!-- Configures support for @Controllers -->
<mvc:annotation-driven/>
<mvc:default-servlet-handler />2014年12月31日 15:57
相关推荐
总之,"Spring MVC JSON学习"涵盖了许多关键概念,包括JSON数据的序列化和反序列化、控制器中使用`@RequestBody`和`@ResponseBody`、自定义序列化逻辑以及测试JSON API。掌握这些知识点将使你能够构建出高效、健壮的...
除了这两个基本注解,Spring MVC还提供了其他注解来帮助处理JSON数据,例如`@JsonView`用于控制序列化时包含哪些属性,`@JsonProperty`用于指定字段与JSON键的映射关系,以及`@JsonIgnore`用于忽略某个属性不进行...
DataGrid通常期望JSON对象包含`total`(记录总数)、`rows`(数据数组)等字段。例如: ```java @RequestMapping(value = "/getData", produces = "application/json") @ResponseBody public Map, Object> getData...
例如,你可以创建一个`BatchUpdateController`,其中的方法使用`@PostMapping`注解,接收JSON数组作为`@RequestBody`,然后在`@Transactional`注解的方法内调用`JdbcTemplate`的`batchUpdate()`方法进行批量更新。...
在Spring MVC中,可以使用`@ResponseBody`注解来指示控制器方法返回JSON格式的数据,而不是默认的视图。例如: ```java @RequestMapping(value = "/users", method = RequestMethod.GET) @ResponseBody public ...
除了基本的JSON序列化和反序列化,你还可以学习更多高级技巧,如使用`@JsonView`进行视图控制,`@JsonProperty`自定义字段名,以及如何处理嵌套对象和复杂数据结构等。 总之,理解和掌握Spring MVC中的JSON处理能力...
3. 传数组参数 在POST请求中,可以使用@RequestParam接收数组。当数组作为请求参数时,需要在参数名后加上方括号`[]`。例如,前端发送`testArray=["zhang","liu","gong"]`,后端可以这样接收: ```java @...
5. 在Spring MVC控制器端,定义一个方法,使用`@RequestMapping`注解指定Ajax请求的URL,使用`@ResponseBody`注解表示返回的结果将被转换为JSON。 6. 数据转换:在控制器方法中,可以使用Jackson库(Spring默认支持...
返回类型被注解为@ResponseBody,这意味着返回的对象会被自动转换为JSON格式的数据发送回前端。 addVipFeeList方法的参数是@RequestBody注解修饰的一个List对象,这个注解告诉Spring MVC框架将请求体中的JSON数据...
1. 添加`@JsonFormat`注解在日期字段上,以指定日期格式。 2. 使用`@JsonIgnore`注解忽略某些属性。 3. 配置`application.yml`或`application.properties`文件中的`spring.jackson.*`属性进行全局设置。 四、处理...
- Jackson提供了多种注解,如`@JsonProperty`, `@JsonIgnore`, `@JsonInclude`, `@JsonAutoDetect`, `@JsonFormat`等,用于控制JSON的序列化和反序列化行为。 - 例如,`@JsonProperty`用于指定哪个字段应该被包含...
SpringMVC传递和接收数组参数的实例 在本文中,我们将详细介绍...我们可以使用 GET 或 POST 方法传递数组参数,并使用 `@RequestParam` 注解来接收数组参数。在实际开发中,这些技术可以帮助我们更好地处理数组参数。
- 在Spring MVC中,`@RequestBody`和`@ResponseBody`注解用于处理HTTP请求和响应的JSON数据。 - Spring Boot默认集成了Jackson库,但也可以配置为使用其他库。 综上所述,这个“java web json包”可能包含了用于...
如果需要改变JSON的根节点名称,可能需要在返回对象时使用@JsonIgnoreProperties注解来忽略JSON属性,或者使用@JSONView注解来控制字段的序列化。 总而言之,去除Spring MVC返回的JSON的根节点名称,可以通过配置...
开发者可以使用`curl`命令或在浏览器的开发者工具中模拟请求来测试服务端是否正确返回JSON数据。在浏览器中,你可以直接输入URL,如`http://yourserver.com/user`,如果服务端配置正确,浏览器将会以纯文本形式显示...
Spring Boot提供了对JSON的强大支持,比如使用`@RequestBody`和`@ResponseBody`注解自动处理JSON序列化和反序列化: ```java @PostMapping("/save") public ResponseEntity save(@RequestBody YourJavaClass ...
3. **数据类型映射**:JSON中的数据类型与Java中的不完全相同,如JSON的数组对应Java的List或Array,JSON对象对应Java的Map。库如Jackson会自动进行类型转换。 4. **复杂JSON处理**:对于包含嵌套结构或复杂关系的...
在Java后端,如Spring MVC框架中,可以使用`@ResponseBody`注解将Java对象转换为JSON并返回给前端。前端通过jQuery的Ajax方法接收。例如: ```java @RequestMapping(value = "/getUser", method = RequestMethod....
2. @RestController:这个注解是@Controller和@ResponseBody的组合注解,用于创建RESTful Web服务的控制器。标注了@RestController的类中,所有的方法都会返回一个响应体。 3. @RequestMapping:用于将URL映射到...
在使用 @RequestBody 注解时,我们需要注意的是,它接收的是一个 Json 对象的字符串,而不是一个 Json 对象。例如: ```java @RequestMapping(value = "saveUser", method = {RequestMethod.POST}) @ResponseBody ...