JSON (JavaScript Object Notation) est un format de données simple qui est plus léger que XML. JSON est un format JavaScript natif, ce qui signifie que le traitement des données JSON en JavaScript ne nécessite aucune API ou boîte à outils spéciale.
Les règles de JSON sont simples : un objet est une collection non ordonnée de « paires nom/valeur ». Un objet commence par "{" (crochet gauche) et se termine par "}" (crochet droit). Chaque "nom" est suivi d'un ":" (deux-points) ; les paires "nom/valeur" sont séparées par un "," (virgule). Pour des détails spécifiques, veuillez vous référer à http://www.json.org/json-zh.html
Un exemple simple :
code js
function showJSON() { var user = { "username":"andy", "age":20, "info": { "tel": "123456", "cellphone": "98765"}, "address": [ {"city":"beijing","postcode":"222333"}, {"city":"newyork","postcode":"555666"} ] } alert(user.username); alert(user.age); alert(user.info.cellphone); alert(user.address[0].city); alert(user.address[0].postcode); }
Ceci représente un objet utilisateur avec des attributs tels que le nom d'utilisateur, l'âge, les informations, l'adresse, etc.
Vous pouvez également utiliser JSON pour modifier simplement les données, modifiez l'exemple ci-dessus
code js
function showJSON() { var user = { "username":"andy", "age":20, "info": { "tel": "123456", "cellphone": "98765"}, "address": [ {"city":"beijing","postcode":"222333"}, {"city":"newyork","postcode":"555666"} ] } alert(user.username); alert(user.age); alert(user.info.cellphone); alert(user.address[0].city); alert(user.address[0].postcode); user.username = "Tom"; alert(user.username); }
JSON fournit le package json.js. Après avoir téléchargé http://www.json.org/json.js, importez-le puis utilisez simplement object.toJSONString() pour le convertir en JSON. données.
code js
function showCar() { var carr = new Car("Dodge", "Coronet R/T", 1968, "yellow"); alert(carr.toJSONString()); } function Car(make, model, year, color) { this.make = make; this.model = model; this.year = year; this.color = color; }
Vous pouvez utiliser eval pour convertir les caractères JSON en objet
code js
function myEval() { var str = '{ "name": "Violet", "occupation": "character" }'; var obj = eval('(' + str + ')'); alert(obj.toJSONString()); }
Ou utilisez la méthode parseJSON()
code js
function myEval() { var str = '{ "name": "Violet", "occupation": "character" }'; var obj = str.parseJSON(); alert(obj.toJSONString()); }
Ce qui suit utilise un prototype pour écrire un exemple ajax de JSON.
Écrivez d'abord un servlet (le mien est servlet.ajax.JSONTest1.java) et écrivez une phrase
code Java
response.getWriter().print("{ \"name\": \"Violet\", \"occupation\": \"character\" }");
Écrivez une requête ajax sur la page
code js
function sendRequest() { var url = "/MyWebApp/JSONTest1"; var mailAjax = new Ajax.Request( url, { method: 'get', onComplete: jsonResponse } ); } function jsonResponse(originalRequest) { alert(originalRequest.responseText); var myobj = originalRequest.responseText.parseJSON(); alert(myobj.name); }
Prototype-1.5.1.js fournit une méthode JSON, String.evalJSON(), vous pouvez modifier la méthode ci-dessus sans utiliser json.js
code js
function jsonResponse(originalRequest) { alert(originalRequest.responseText); var myobj = originalRequest.responseText.evalJSON(true); alert(myobj.name); }
JSON fournit également le package java jar http://www.json.org/java/index.html L'API est également très simple, voici un exemple
Ajouter des paramètres de requête en javascript
code js
function sendRequest() { var carr = new Car("Dodge", "Coronet R/T", 1968, "yellow"); var pars = "car=" + carr.toJSONString(); var url = "/MyWebApp/JSONTest1"; var mailAjax = new Ajax.Request( url, { method: 'get', parameters: pars, onComplete: jsonResponse } ); }
En utilisant la chaîne de requête JSON, vous pouvez simplement générer JSONObject et l'analyser, modifier le servlet pour ajouter le traitement JSON (utilisez json.jar)
code Java
private void doService(HttpServletRequest request, HttpServletResponse response) throws IOException { String s3 = request.getParameter("car"); try { JSONObject jsonObj = new JSONObject(s3); System.out.println(jsonObj.getString("model")); System.out.println(jsonObj.getInt("year")); } catch (JSONException e) { e.printStackTrace(); } response.getWriter().print("{ \"name\": \"Violet\", \"occupation\": \"character\" }"); }
Vous pouvez également utiliser JSONObject pour générer des chaînes JSON et modifier le servlet
code Java
private void doService(HttpServletRequest request, HttpServletResponse response) throws IOException { String s3 = request.getParameter("car"); try { JSONObject jsonObj = new JSONObject(s3); System.out.println(jsonObj.getString("model")); System.out.println(jsonObj.getInt("year")); } catch (JSONException e) { e.printStackTrace(); } JSONObject resultJSON = new JSONObject(); try { resultJSON.append("name", "Violet") .append("occupation", "developer") .append("age", new Integer(22)); System.out.println(resultJSON.toString()); } catch (JSONException e) { e.printStackTrace(); } response.getWriter().print(resultJSON.toString()); } js 代码 function jsonResponse(originalRequest) { alert(originalRequest.responseText); var myobj = originalRequest.responseText.evalJSON(true); alert(myobj.name); alert(myobj.age); }
Le contenu ci-dessus a pour but de vous présenter le processus détaillé de traitement JavaScript et d'analyse des données JSON. J'espère qu'il vous sera utile.