JSON est un format de passage commun, un format basé sur la valeur clé. Et la taille des données sera relativement petite, ce qui facilite la réussite. Par conséquent, JSON est souvent utilisé dans le développement.
Tout d'abord, jetons un coup d'œil au format de JSON:
{key1: value1, key2: value2}Chaque version correspond à une valeur, et chaque paire de valeurs clés est connectée par des virgules. Et il n'y a pas de virgule après la dernière paire de valeurs clés, et l'ensemble doit être enfermé en accolades.
Généralement, lorsqu'un servlet normal renvoie JSON, il ressemblera à ce qui suit:
Response.SetContentType ("Text / JSON; charSet = UTF-8"); Response.getWriter (). print (gson.tojson (page)); réponse.getWriter (). Flush (); réponse.getwriter (). Close (); return null;Ceci est relativement gênant et difficile à encapsuler. Lorsque la nouvelle version de Spring renvoie JSON, vous pouvez le retourner directement via @ResponseBody. Cela est très bien fait. Le code général est le suivant:
@ Contrôleur @ requestmapping ("/ json") public class JSONController {@RequestMapping (value = "{provinceId}", méthode = requestMethod.get) @ResponseBody Public String Pagination (@Pathvariable String provinceId) {return getjSondata (provinceId); }}La méthode d'accès est la suivante: http: // localhost: 8080 / printemps3 / action / json / 1. Une chose à noter est que lors de l'accès au contrôleur Spring MVC, A / Action est ajouté au milieu. En effet, si le chemin de mappage du Dispatcherservlet est directement utilisé / *, le JSP correspondant sera bloqué, donc un préfixe doit être ajouté pour distinguer JSP du contrôleur.
S'il y a chinois dans le JSON ci-dessus, le code brouillé apparaîtra, donc modifiez le fichier de configuration Spring-Servlet.xml et modifiez les MessageConverters de AnnotationMethodHandleradapter, car il utilise le codage ISO8895-1 par défaut, le code est le suivant:
<Ean> <propriété name = "webbindingInitializer"> <any /> </ propriété> <propriété name = "MessageConverters"> <stist> <an Bean> <propriété name = "supportDediaTypes"> <sist> <value> text / plain; charset = utf-8 </value> </sist> </ propriété> </ank
Après ces étapes, le traitement de JSON est assez pratique.