儘管使用@ResponseBody 成功實現了Java 到JSON 資料傳輸,但實現其反向路徑仍然很重要困難。難以捉摸。本文深入探討了使用 @RequestBody 將 JSON 序列化回 Java 物件的解決方案。
為了確保無縫體驗,請確保滿足以下條件:
為了說明解決方案,請考慮以下範例:
web.xml:
<servlet> <servlet-name>json</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>json</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping>
json-servlet.xml:
<beans> <import resource="classpath:mvc-context.xml" /> </beans>
mvc-context.xml:
<beans> <mvc:annotation-driven /> <context:component-scan base-package="test.json" /> </beans>mvc-context.xml:
mvc-context.xml:
@Controller @RequestMapping("/test") public class TestController { @RequestMapping(method = RequestMethod.POST, value = "math") @ResponseBody public Result math(@RequestBody final Request request) { ... } }
mvc-context.xml:
mvc-context.xml:public class Request { private int left; private int right; ... }
mvc-context.xml:
TestController(控制器類別):public class Result { private int addition; private int subtraction; private int multiplication; ... }請求(POST 請求的POJO):
{"addition":20,"subtraction":6,"multiplication":91}
執行指令mvn jetty:run 並發送以下POST 要求:
URL:http:/ /localhost:8080/test/mathMIME類型:application/json貼文正文:{ "left": 13, "right" : 7 }您應該收到的回應:這示範了使用@RequestBody 在JSON 和Java 之間進行雙向資料傳輸。以上是如何使用 Spring MVC 和 jQuery 雙向傳輸 JSON 資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!