Maison >Java >javaDidacticiel >Comment intégrer JQuery, @RequestBody de Spring MVC et JSON pour la sérialisation bidirectionnelle ?
Bien que la sérialisation des objets Java en JSON pour la consommation JQuery puisse être simple, le chemin inverse : l'analyse JSON et sa conversion en objets Java peuvent poser des problèmes. Cet article vous guidera à travers les étapes nécessaires pour faire de cette sérialisation bidirectionnelle une réalité.
Pour désérialiser JSON en un objet Java à l'aide de Spring MVC @RequestBody , il est indispensable d'enregistrer le MappingJacksonHttpMessageConverter. Bien que cela puisse être fait manuellement, la méthode la plus simple consiste à utiliser
Considérez l'exemple suivant, qui présente une solution complète pour la sérialisation JSON bidirectionnelle :
<!-- 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" />
#### `mvc-context.xml`
<mvc:annotation-driven /> <context:component-scan base-package="test.json" />
#### Controller
@Controller
@RequestMapping("/test")
classe publique TestController {
@RequestMapping(method = RequestMethod.POST, value = "math") @ResponseBody public Result math(@RequestBody final Request request) {...}
}
#### Domain Objects
Demande de cours public {
// ... fields and getters/setters ...
}
Résultat du cours public {
// ... fields and getters/setters ...
}
#### Testing the Setup Using the Poster Firefox plugin, send a POST request to the following URL:
URL : http://localhost:8080/test/math
type MIME : application/json
corps du message : { "gauche": 13 , "droite" : 7 }
#### Expected Response
{" addition":20,"soustraction":6,"multiplication":91}
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!