JavaScript:JSONの関数

以下はビデオで使われているスライドです。

以下はナレーションのスクリプトです。

今回はJSONというデータフォーマットをJavaScriptで扱うときの関数の説明をします。
まずは簡単にJSONの概要を説明して、その後に利用方法を説明します。

JSONとは?

JavaScript Object Notationの略で、テキストベースのデータフォーマットです。
この文字列をJavaScriptのeval関数で評価することでObjectとして利用することができます。
理解を助けるために乱暴に言ってしまえば、JavaScriptのObject形式の文字列ということです。

なお、JSONという名前から、Objectだけのフォーマットのように見えますが、Arrayも使うことができます。

利用シーン

文字列をJavaScriptの構造体として記録できることから、AjaxやWebのAPIのフォーマットとして広く使われています。

また、HTML5のWebストレージはCookieよりも大きなサイズのデータを扱えることから、そのデータフォーマットとしてJSONを選択することもあります。

ObjectをJSONに変換

JavaScriptのObjectをJSONに変換するときには、window.JSONにあるJSON.stringify()を使います。
window.JSONの真偽で対応しているかを判別することができ、IE8から対応しています。

json_text = JSON.stringify(obj);

第2引数を使うことで、文字列に変換するときに挟むユーザ定義の関数を設定したり、文字列に変換するプロパティを制限することもできますが、説明が煩雑になるので割愛します。

JSONをObjectに変換

JavaScriptのObjectをJSONに変換するときには、window.JSONにあるJSON.parse()を使います。
こちらもwindow.JSONの真偽で対応しているかを判別することができ、IE8から対応しています。

obj = JSON.parse(json_text);

こちらもstringify同様、第2引数を設定できますが、説明が煩雑になるので割愛します。

最後に

Ajaxで送信したり、Webストレージに保存するときは、JSON.stringifyで文字列にします。
Ajaxで受け取ったり、Webストレージから読み出したときは、JSON.parseでObjectにします。

JSONはPHPなどのサーバサイド言語で扱えるなど、比較的汎用的で安全であるため、簡単なカンマ区切りのデータでの読み書きを頻繁に行うような場合であっても、検討の候補として考えられるでしょう。

ただし、JSONの書式は比較的厳密さを求めてくるので、手作業でJSONデータを作るのはおすすめできません。専用のメソッドや関数を使うようにしましょう。

スポンサーリンク
  • このエントリーをはてなブックマークに追加

水蕗をフォローする

コメントを残す