jsonについてのざっくりしたまとめ

jsonとは

jsonとはJavaScript Object Notation、JavaScriptの書き方に由来している軽量のデータ交換用のフォーマット(lightweight data-interchange format)。

厳密にJavaScriptの団体が準備したもの、と言う訳では無いようですが、JavaScriptの仕様書「ECMA-262」に乗っ取った記法。

jsonの構造

構造は2種類この構造でまとめることで、様々なプログラム言語でデータ交換が出来るようになる。

  • 名前と値のペア。多くの言語でオブジェクト、データ、辞書、ハッシュテーブル、リスト、行列として認識される。
  • 値のリスト。多くの言語で行列(array)、ベクトル(ベクタ)(vector:「方向と大きさ」のように、互いに独立な複数の異なる値の組み合わせとして表される量)、リスト(list)、シークエンス(sequence:順番に並んだ一続きのデータや手順)として認識される。

以下のフォーマットで扱われる

オブジェクト

オブジェクトは名前と値のペア。
波括弧”{}”(かつては中括弧と呼ばれていた様ですが、今は波括弧が主流の様です。英語ではcurly bracket)で全体を囲い、データの大きな括りごとに同様に波括弧でまとめ、中身をコロン”:”で設定したname-valueペアをコンマ”,”で並べたデータ形式になります。

行列

行列(array)型は 値を並べたもの。
行列は角括弧”[]”(同様に過去は大括弧、英語はbracket)で囲われた、コンマ”,”で区切られたデータ。

値はダブルクオート(double quotes)「”」 で囲われた文字列(string)、もしくは数字(number)、論理値(true or false)、ヌル値(null:何もデータが無い状態)、オブジェクト、行列がなることが出来る
また、これらはネスト出来る(入れ子構造に出来る)

他にも文字列(string)、数字(number)があるが以外と注意した方が良さそうなのがwhitespace。

whitespace

データに含まれる空白(whitespace)については、いくつかのUnicode コードポイントをホワイトスペースとして定めている様だ。

  • U+0009 CHARACTER TABULATION <TAB>
  • U+000B LINE TABULATION <VT>
  • U+000C FORM FEED <FF>
  • U+0020 SPACE <SP>
  • U+00A0 NO-BREAK SPACE <NBSP>
  • U+FEFF ZERO WIDTH NO-BREAK SPACE <ZWNBSP>

および その他のカテゴリ “Zs” Unicode の他の “Separator, space” コードポイント <USP> に属するすべての文字が空白として扱われているとの事。
一般的にコードの機能として不要なもの達。

次は簡単に使ってみる。

コメント

タイトルとURLをコピーしました