JSON(ジェイソン、JavaScript Object Notation)とは、JavaScriptにおけるオブジェクトの表記法をベースとした軽量なデータ記述言語である。
http://ja.wikipedia.org/wiki/JavaScript_Object_Notation
Webを単にブラウザからの画面繊維を受け付けるサーバとして動かすのではなく、Java Scroptやその他プログラムから、動的な情報交換のサーバとして機能させる場合のプロトコルとして利用される。
iPhoneの場合は、JSON Frameworkや、Touch JSONなどのライブラリを使って、NSArrayやNSDictionaryの拡張プロパティ等を通じサーバから取得したデータにアクセスする。
表記方法
JSONで表現するデータ型は以下の通りで、これらを組み合わせてデータを記述する。true,false,nullなどは全て小文字でなくてはならない。
数値(整数、浮動小数点数)
文字列(バックスラッシュによるエスケープシーケンス記法を含む、ダブルクォーテーションで括った文字列)
真偽値(trueとfalse)
配列(データのシーケンス)
オブジェクト(キーと値のペアの集まり。JSONではハッシュと等価)
null
数値は10進法表記に限り、8進、16進法表記などはできない。また浮動小数点数としては1.0e-10といった指数表記もできる。
文字列はJavaScriptやJavaなどで用いられている表記法で、バックスラッシュをエスケープシーケンスとして利用するUnicodeの文字列表現である。
配列はゼロ個以上の値をコンマで区切って、角かっこでくくることで表現する。例えば以下のように表現する:
["milk", "bread", "eggs"]
オブジェクト(ハッシュ)はキーと値のペアをコロンで対にして、これらの対をコンマで区切ってゼロ個以上列挙し、全体を中かっこでくくることで表現する。例えば以下のように表現する:
{"name": "John Smith", "age": 33}
エンコーディング
JSONテキストはUnicodeでエンコードするとされている(SHALL)。デフォルトのエンコーディングはUTF-8である。なお、単独の文字列でない限り最初の2文字は必ずASCII文字であるので、最初の4バイトを見ることにより、UTF-8、UTF-16LE、UTF-16BE、UTF-32LE、UTF-32BEのいずれの形式でエンコードされているか判別できる。
0 件のコメント:
コメントを投稿