FAX

 | 

2005-09-15

JSON入門

(thanks to JavaScript++かも日記)


f:id:brazil:20050915032808j:image



JSON(JavaScript Object Notation)は、軽量のデータ交換フォーマットです。人間にとって読み書きが容易で、マシンにとっても簡単にパースや生成を行なえる形式です。JavaScriptプログラミング言語ECMA-262標準第3版 1999年12月)の一部をベースに作られています。JSONは完全に言語から独立したテキスト形式ですが、C、C++C#JavaJavaScriptPerlPython、その他多くのCファミリーの言語を使用するプログラマにとっては、馴染み深い規約が使われています。これらの性質が、JSONを理想的なデータ交換言語にしています。


JSONは2つの構造を基にしています。


  • 名前/値のペアの集まり。様々な言語で、これはオブジェクトレコード、構造体、ディクショナリ、ハッシュテーブル、キーのあるリスト、連想配列として実現されています。
  • 値の順序付きリスト。ほとんどの言語で、これは配列として実現されています。

これらは普遍的なデータ構造です。つまり実質的に、現代の全てのプログラミング言語が、いずれの形にせよサポートしているということです。プログラミング言語の間で交換可能なデータ形式が、これらの構造に基づいているのは当然です。


JSONでは、以下の形式を持っています。

オブジェクト
{ メンバ }
{}
メンバ
文字列 :
メンバ , 文字列 :
配列
[ 要素 ]
[]
要素

要素 ,
文字列
数値
オブジェクト
配列
true
false
null

  • オブジェクトは、順序付けされない名前/値のペアのセットです。オブジェクトは、{(左の中括弧)で始まり、} (右の中括弧)で終わります。各名前の後ろには、:(コロン)が付きます。そして、名前/値のペアは、,(コンマ)で区切られます。
  • 配列は、順序付けされた値の集まりです。配列は、[(左の大括弧)で始まり、](右の大括弧)で終わります。値は、,(コンマ)で区切られます。
  • は、2重引用符に囲まれた文字列数値、true、false、null、オブジェクト配列です。これらの構造は、ネストできます。
  • 文字列は、2重引用符で囲われてバックスラッシュエスケープされたゼロ文字以上のユニコード文字の集まりです。一つの文字も、一つの文字列として表されます。

細かなエンコード表記を除けば、JSONの形式は完全にその言語を表しています。


f:id:brazil:20050914235440g:image


文字列は、CまたはJavaの文字列によく似ています。数値も、8進数および16進数の形式が使われないことを除いて、CまたはJavaの数値によく似ています。


f:id:brazil:20050914235403g:image


トークンとトークンの間のどこにでも空白を挿入できます。


f:id:brazil:20050914235315g:image



 |