json logo

JSON の紹介


العربية Български 中文 Český Dansk Nederlands English Esperanto Français Deutsch Ελληνικά עברית Magyar Indonesia
Italiano 日本 한국어 فارسی Polski Português Română Русский Српско-хрватски Slovenščina Español Svenska Türkçe Tiếng Việt

ECMA-404 The JSON Data Interchange Standard.

json
    element

value
    object
    array
    string
    number
    "true"
    "false"
    "null"

object
    '{' ws '}'
    '{' members '}'

members
    member
    member ',' members

member
    ws string ws ':' element

array
    '[' ws ']'
    '[' elements ']'

elements
    element
    element ',' elements

element
    ws value ws

string
    '"' characters '"'
characters
    ""
    character characters
character
    '0020' . '10ffff' - '"' - '\'
    '\' escape
escape
    '"'
    '\'
    '/'
    'b'
    'n'
    'r'
    't'
    'u' hex hex hex hex

hex
    digit
    'A' . 'F'
    'a' . 'f'

number
    int frac exp

int
    digit
    onenine digits
    '-' digit
    '-' onenine digits

digits
    digit
    digit digits

digit
    '0'
    onenine

onenine
    '1' . '9'

frac
    ""
    '.' digits

exp
    ""
    'E' sign digits
    'e' sign digits

sign
    ""
    '+'
    '-'

ws
    ""
    '0009' ws
    '000a' ws
    '000d' ws
    '0020' ws

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

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

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

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

オブジェクトは、順序付けされない名前/値のペアのセットです。オブジェクトは、{(左の中括弧)で始まり、} (右の中括弧)で終わります。 各名前の後ろには、:(コロン)が付きます。そして、名前/値のペアは、,(コンマ)で区切られます。

配列は、順序付けされた値の集まりです。配列は、[(左の大括弧)で始まり、](右の大括弧)で終わります。値は、(コンマ)で区切られます。

は、2重引用符に囲まれた文字列数値truefalsenullオブジェクト配列です。これらの構造は、ネストできます。

文字列は、2重引用符で囲われてバックスラッシュエスケープされたゼロ文字以上のユニコード文字の集まりです。一つの文字も、一つの文字列として表されます。文字列は、CまたはJavaの文字列によく似ています。

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

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

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