ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScriptの処理とJSONデータの解析のプロセスを詳しく解説_javascriptスキル
JSON (JavaScript Object Notation) は、xml よりも軽量なシンプルなデータ形式です。 JSON はネイティブ JavaScript 形式です。つまり、JavaScript での JSON データの処理には特別な API やツールキットは必要ありません。
JSON のルールは単純です。オブジェクトは「名前と値のペア」の順序付けされていないコレクションです。オブジェクトは「{」(左括弧)で始まり「}」(右括弧)で終わります。各「名前」の後には「:」 (コロン) が続き、「名前と値」のペアは「,」 (カンマ) で区切られます。具体的な詳細については、http://www.json.org/json-zh.html
を参照してください。簡単な例:
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); }
これは、ユーザー名、年齢、情報、住所などの属性を持つユーザー オブジェクトを表します。
JSON を使用してデータを単純に変更することもできます。上記の例を変更してください
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 は json.js パッケージを提供します。http://www.json.org/json.js をダウンロードした後、それをインポートし、object.toJSONString() を使用して JSON に変換します。データ。
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; }
eval を使用して JSON 文字をオブジェクトに変換できます
js コード
function myEval() { var str = '{ "name": "Violet", "occupation": "character" }'; var obj = eval('(' + str + ')'); alert(obj.toJSONString()); }
または parseJSON() メソッドを使用します
js コード
function myEval() { var str = '{ "name": "Violet", "occupation": "character" }'; var obj = str.parseJSON(); alert(obj.toJSONString()); }
以下では、プロトタイプを使用して JSON の ajax サンプルを記述します。
まずサーブレット (私のサーブレットは servlet.ajax.JSONTest1.java) を作成し、一文を書きます
Java コード
response.getWriter().print("{ \"name\": \"Violet\", \"occupation\": \"character\" }");
ページに ajax リクエストを書き込みます
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 は JSON メソッド String.evalJSON() を提供します。json.js を使用せずに上記のメソッドを変更できます
js コード
function jsonResponse(originalRequest) { alert(originalRequest.responseText); var myobj = originalRequest.responseText.evalJSON(true); alert(myobj.name); }
JSON は Java jar パッケージも提供します http://www.json.org/java/index.html API も非常にシンプルです。ここに例を示します
JavaScript にリクエストパラメータを追加します
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 } ); }
JSON リクエスト文字列を使用すると、単純に JSONObject を生成して解析し、サーブレットを変更して JSON 処理を追加できます (json.jar を使用)
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\" }"); }
JSONObject を使用して JSON 文字列を生成し、サーブレットを変更することもできます
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); }
上記の内容は、JavaScript の処理と JSON データの解析の詳細なプロセスを紹介するものです。お役に立てば幸いです。