JSON - イントロ

❮ 前章へ 次章へ ❯

JSON: JavaScript Object Notation.

JSONは、データの保存と交換のための構文です。

JSONは、JavaScriptオブジェクト表記で書かれたテキストです。


データ交換

ブラウザとサーバ間でデータを交換する場合、データはテキストのみにしなければなりません。

JSONはテキストで、あらゆるJavaScriptオブジェクトをJSONに変換可能で、JSONをサーバに送信することができます。

また、サーバから受信したJSONを、JavaScriptオブジェクトに変換することもできます。

この方式で、複雑なパースやコンパイルを行うことなく、JavaScriptオブジェクトとしてデータを取扱うことができます。


データの送信

JavaScriptオブジェクトに格納されデータであれば、オブジェクトをJSONに変換してサーバに送信することができます:

var myObj = { "name":"John", "age":31, "city":"New York" };
var myJSON = JSON.stringify(myObj);
window.location = "demo_json.php?x=" + myJSON;
Try it Yourself »

JSON.stringify()関数の詳細については、このチュートリアルの後半で説明します。


データの受信

データをJSON形式で受信した場合は、JavaScriptオブジェクトに変換できます:

var myJSON = '{ "name":"John", "age":31, "city":"New York" }';
var myObj = JSON.parse(myJSON);
document.getElementById("demo").innerHTML = myobj.name;
Try it Yourself »

JSON.parse()関数の詳細については、このチュートリアルの後半で説明します。


データの格納

データを格納するとき、データは特定のフォーマットでなければなりませんが、格納先を問わず、textは常に正当なフォーマットの1つです。

JSONを使用すると、JavaScriptオブジェクトをテキストとして格納することができます。

Storing data in local storage

//Storing data:
myObj = { "name":"John", "age":31, "city":"New York" };
myJSON = JSON.stringify(myObj);
localStorage.setItem("testJSON", myJSON);

//Retrieving data:
text = localStorage.getItem("testJSON");
obj = JSON.parse(text);
document.getElementById("demo").innerHTML = obj.name;
Try it Yourself »

JSONとは?

*
JSONはJavaScript構文を使用していますが、JSONフォーマットはテキストのみです。
テキストは、どのプログラミング言語によってもデータフォーマットとして読み、使用することができます。

JSON フォーマットは、Douglas Crockford によって仕様が決められました。


なぜJSONを使うのですか?

JSON形式はテキストのみであるため、サーバとの間で簡単に送受信でき、全てののプログラミング言語でデータ形式として使用できます。

JavaScriptには、JSON形式で記述された文字列をネイティブJavaScriptオブジェクトに変換する組込み関数があります:

JSON.parse()

したがって、サーバからJSON形式でデータを受信した場合は、他のJavaScriptオブジェクトと同じように使用することができます。


❮ 前章へ 次章へ ❯