虽然将 Java 对象序列化为 JSON 以供 JQuery 使用可能很简单,但相反的路径 - 解析JSON 并将其转换为 Java 对象——可能会带来挑战。本文将指导您完成实现双向序列化所需的步骤。
使用 Spring MVC @RequestBody 将 JSON 反序列化为 Java 对象,必须注册 MappingJacksonHttpMessageConverter。虽然这可以手动完成,但最简单的方法是使用
考虑以下示例,它展示了双向 JSON 序列化的完整解决方案:
<!-- Spring MVC --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>3.0.5.RELEASE</version> </dependency> <!-- Jackson --> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mapper-asl</artifactId> <version>1.4.2</version> </dependency>
<servlet-mapping> <servlet-name>json</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping> #### Spring Bean Configuration
<import resource="classpath:mvc-context.xml" /></p> <p></p> <pre class="brush:php;toolbar:false"> #### `mvc-context.xml`
<mvc:annotation-driven /> <context:component-scan base-package="test.json" />
#### Controller
@Controller
@RequestMapping("/test")
公共类 TestController {
@RequestMapping(method = RequestMethod.POST, value = "math") @ResponseBody public Result math(@RequestBody final Request request) {...}
}
#### Domain Objects
公开课请求 {
// ... fields and getters/setters ...
}
公开课结果 {
// ... fields and getters/setters ...
}
#### Testing the Setup Using the Poster Firefox plugin, send a POST request to the following URL:
网址: http://localhost:8080/test/math
mime 类型:application/json
帖子正文:{ "left": 13 , "right" : 7 }
#### Expected Response
{"加法":20,"减法":6,"乘法":91}
以上是如何集成 JQuery、Spring MVC 的 @RequestBody 和 JSON 进行双向序列化?的详细内容。更多信息请关注PHP中文网其他相关文章!