JSON (JavaScript Object Notation) は、完全に言語に依存しないテキスト形式を使用する軽量のデータ交換形式であり、理想的なデータ交換形式です。同時に、JSON は JavaScript ネイティブ形式であるため、JavaScript での JSON データの処理には特別な API やツールキットは必要ありません。
この記事では主にJSでJSONを操作するための要点をまとめています。
JSON には、オブジェクトと配列という 2 つの構造があります。
1. オブジェクトは「{」(左括弧) で始まり、「}」(右括弧) で終わります。各「名前」の後には「:」 (コロン) が続き、「名前と値」のペアは「,」 (カンマ) で区切られます。 名前は引用符で囲みます。値が文字列の場合は括弧で囲む必要がありますが、数値の場合は括弧で囲む必要はありません。例:
var o={"xlid ":"cxh ","xldigitalid":123456,"topscore":2000,"topplaytime":"2009-08-20"};
2. 配列は、順序付けられた値のコレクションです。 。配列は「[」 (左括弧) で始まり、「]」 (右括弧) で終わります。値を区切るには「,」(カンマ)を使用します。
例:
var jsonranklist= [{"xlid ":"cxh","xldigitalid":123456,"topscore":2000,"topplaytime":"2009-08-20"},{"xlid":"zd","xldigitalid":123456, "topscore": 1500,"topplaytime":"2009-11-20"}];
JSON データを便利に処理するために、JSON は json.js パッケージを提供しています。ダウンロード アドレス: http: //www.json .org/json.js
データ送信処理では、json はテキスト、つまり文字列の形で渡され、JS は JSON オブジェクトに対して動作します。そのため、JSON オブジェクトと JSON 間の変換は行われません。 JSON 文字列が重要です。例:
JSON 文字列:
var str1 = '{ "名前": "cxh", "性別": "男" }'
JSON オブジェクト:
var str2 = { "name": "cxh", "sex": "man" };
1. JSON 文字列を JSON オブジェクトに変換します
上記の str1 を使用するには、まず次のコマンドを使用して JSON オブジェクトに変換する必要があります:
//JSON 文字列を JSON オブジェクトに変換します
var obj = eval(' (' str ')');
または
var obj = str.parseJSON(); // JSON 文字列から JSON オブジェクトに変換します
または
var obj = JSON.parse(str); //JSON 文字列から変換 JSON オブジェクト
の場合、次のように読み取ることができます:
Alert(obj.name);
Alert(obj.sex); obj は元々 JSON オブジェクトなので、 eval() を使用します。 関数変換後 (複数の変換でも)、依然として JSON オブジェクトですが、parseJSON() 関数を使用した後に疑問が生じます (構文例外がスローされます)。
2. toJSONString()
またはグローバル メソッド JSON.stringify() を使用して、JSON オブジェクトを JSON 文字列に変換できます。
例:
コードをコピー
コードは次のとおりです: var last= obj.toJSONString( ); // JSON オブジェクトを JSON 文字に変換します または
var last=JSON.stringify(obj); // JSON オブジェクトを JSON 文字に変換します
alert(last);
注:
上記のメソッドのうち、eval() 関数が js に付属していることを除いて、他の多くのメソッドは json.js パッケージに付属しています。新しいバージョンの JSON は API を変更し、JSON.stringify() メソッドと JSON.parse() メソッドの両方を JavaScript の組み込みオブジェクトに挿入し、前者は Object.toJSONString() になり、後者は String になります。 。 toJSONString() メソッドと parseJSON() メソッドが見つからないというメッセージが表示された場合は、json パッケージのバージョンが低すぎることを意味します。