Rumah >hujung hadapan web >tutorial js >Penjelasan terperinci tentang proses pemprosesan JavaScript dan menghuraikan kemahiran JSON data_javascript
JSON (JavaScript Object Notation) ialah format data ringkas yang lebih ringan daripada xml. JSON ialah format JavaScript asli, yang bermaksud pemprosesan data JSON dalam JavaScript tidak memerlukan sebarang API atau kit alat khas.
Peraturan JSON adalah mudah: objek ialah koleksi tidak tertib "pasangan nama/nilai". Objek bermula dengan "{" (kurungan kiri) dan berakhir dengan "}" (kurungan kanan). Setiap "nama" diikuti dengan ":" (titik bertitik); pasangan "nama/nilai" dipisahkan dengan "," (koma). Untuk butiran khusus, sila rujuk http://www.json.org/json-zh.html
Contoh mudah:
kod 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); }
Ini mewakili objek pengguna dengan atribut seperti nama pengguna, umur, maklumat, alamat, dsb.
Anda juga boleh menggunakan JSON untuk mengubah suai data, mengubah suai contoh di atas
kod 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 menyediakan pakej json.js Selepas memuat turun http://www.json.org/json.js, importnya dan kemudian hanya gunakan object.toJSONString() untuk menukarnya kepada JSON. data.
kod 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; }
Anda boleh menggunakan eval untuk menukar aksara JSON kepada Object
kod js
function myEval() { var str = '{ "name": "Violet", "occupation": "character" }'; var obj = eval('(' + str + ')'); alert(obj.toJSONString()); }
Atau gunakan kaedah parseJSON()
kod js
function myEval() { var str = '{ "name": "Violet", "occupation": "character" }'; var obj = str.parseJSON(); alert(obj.toJSONString()); }
Yang berikut menggunakan prototaip untuk menulis contoh ajax JSON.
Mula-mula tulis servlet (saya servlet.ajax.JSONTest1.java) dan tulis satu ayat
kod java
response.getWriter().print("{ \"name\": \"Violet\", \"occupation\": \"character\" }");
Tulis permintaan ajax pada halaman
kod 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); }
Prototaip-1.5.1.js menyediakan kaedah JSON, String.evalJSON(), anda boleh mengubah suai kaedah di atas tanpa menggunakan json.js
kod js
function jsonResponse(originalRequest) { alert(originalRequest.responseText); var myobj = originalRequest.responseText.evalJSON(true); alert(myobj.name); }
JSON juga menyediakan pakej java jar http://www.json.org/java/index.html API juga sangat mudah, berikut adalah contoh
Tambah parameter permintaan dalam javascript
kod 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 } ); }
Menggunakan rentetan permintaan JSON, anda hanya boleh menjana JSONObject dan menghuraikannya, mengubah suai servlet untuk menambah pemprosesan JSON (gunakan json.jar)
kod 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\" }"); }
Anda juga boleh menggunakan JSONObject untuk menjana rentetan JSON dan mengubah suai servlet
kod 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); }
Kandungan di atas adalah untuk memperkenalkan anda kepada proses terperinci pemprosesan JavaScript dan menghurai data JSON saya harap ia akan membantu anda.