JIS X 3061:2021 JSONデータ交換フォーマット

JIS X 3061:2021 規格概要

この規格 X3061は、データ交換フォーマットJSONについて規定。JSONは,データ交換フォーマットを定義するための,軽量でテキストベース,かつ,言語に依存しない構文である。JSONは,ECMAScriptプログラミング言語から派生したものであるが,プログラミング言語に依存しない。JSONは,構造化データの移植可能な表現のために,少数の構造化規則を定義する。この規格の目的は,有効なJSONテキストの構文を定義することだけである。構文に適合するテキストの意味論又は解釈を提供することは意図していない。また,有効なJSONテキストが,プログラミング言語のデータ構造としてどのように実装されるかについても,意図的に定義していない。JSON構文には多くの適用可能な意味論が存在し,JSONテキストをプログラミング言語で処理又は対応付けすることが可能な方法も多く存在する。JSONによる意味のある情報交換には,関係者間で適用される特定の意味論についての合意が必要である。JSONに特定の意味上の解釈を定義することは,他の規格に委ねる。同様に,JSONを言語に対応付けることも,別に規定することもできる。例えば,ECMA-262は有効なJSONテキストとECMAScriptの実行時データ構造との対応付けを定義している。

JISX3061 規格全文情報

規格番号
JIS X3061 
規格名称
JSONデータ交換フォーマット
規格名称英語訳
The JSON data interchange syntax
制定年月日
2021年1月20日
最新改正日
2021年1月20日
JIS 閲覧
‐ 
対応国際規格

ISO

ISO/IEC 21778:2017(IDT)
国際規格分類

ICS

35.060
主務大臣
経済産業
JISハンドブック
‐ 
改訂:履歴
2021-01-20 制定
ページ
JIS X 3061:2021 PDF [9]
                                                                X 3061 : 2021 (ISO/IEC 21778 : 2017)

pdf 目 次

ページ

  •  序文・・・・[1]
  •  1 適用範囲・・・・[2]
  •  2 適合性・・・・[2]
  •  3 引用規格・・・・[2]
  •  4 JSONテキスト・・・・[3]
  •  5 JSON値・・・・[3]
  •  6 オブジェクト・・・・[4]
  •  7 配列・・・・[4]
  •  8 数・・・・[5]
  •  9 文字列・・・・[5]
  •  参考文献・・・・[7]

(pdf 一覧ページ番号 1)

――――― [JIS X 3061 pdf 1] ―――――

           X 3061 : 2021 (ISO/IEC 21778 : 2017)

まえがき

  この規格は,産業標準化法第12条第1項の規定に基づき,一般社団法人情報処理学会(IPSJ)及び一般
財団法人日本規格協会(JSA)から,産業標準原案を添えて日本産業規格を制定すべきとの申出があり,
日本産業標準調査会の審議を経て,経済産業大臣が制定した日本産業規格である。
この規格は,著作権法で保護対象となっている著作物である。
この規格の一部が,特許権,出願公開後の特許出願又は実用新案権に抵触する可能性があることに注意
を喚起する。経済産業大臣及び日本産業標準調査会は,このような特許権,出願公開後の特許出願及び実
用新案権に関わる確認について,責任はもたない。

(pdf 一覧ページ番号 2)

――――― [JIS X 3061 pdf 2] ―――――

                                      日本産業規格                            JIS
X 3061 : 2021
(ISO/IEC 21778 : 2017)

JSONデータ交換フォーマット

The JSON data interchange syntax

序文

  この規格は,2017年に第1版として発行されたISO/IEC 21778を基に,技術的内容及び構成を変更する
ことなく作成した日本産業規格である。
JSONは,全てのプログラミング言語の間で構造化されたデータの交換を容易にするテキスト構文であ
る。JSONは,波括弧,角括弧,コロン,及びコンマから成る構文で,様々なコンテキスト,プロファイ
ル,及びアプリケーションで実用化されている。JSONの名前の由来は,JavaScript Object Notationであり,
JavaScriptの別名として知られているECMAScript Language Specification, Third Edition[1]で定義されてい
るECMAScriptのオブジェクトリテラルが元となっている。しかし,ECMAScriptの内部データ表現を他の
プログラミング言語に導入することを意図しているわけではない。その代わりに,ECMAScriptの構文の
小さな部分集合を他の全てのプログラミング言語で使用する。JSON構文は,完全なデータ交換の規格で
はない。意味のあるデータ交換は,JSON構文の特定の使用に付随する意味論に関する生産者と消費者と
の間の合意を必要とする。JSONが提供するものは,そのような意味論を付加できる構文の枠組みである。
JSON構文は,Unicodeコードポイント列によって記述する。またJSONは,\uエスケープ記法の中の
16進数においてもUnicodeに依存する。
JSONは,数の意味論に依存しない。どのプログラミング言語も,複数種類のビット数,負数の表現法,
固定小数点か又は浮動小数点か,2進か又は10進か,など様々な数のタイプをサポートできる。これは,
様々なプログラミング言語間の交換を困難にする可能性がある。JSONでは,代わりに,人間が使用する
数の表現(数字の列)だけが提供される。全てのプログラミング言語は,たとえそれらの内部表現が一致
しなくても,数字の列の意味を理解する方法を知っている。これは,交換を可能にするために十分である。
プログラミング言語は,オブジェクトをサポートするか,また,サポートする場合にどのような特性及
び制約のオブジェクトを提供するかによって大きく異なる。オブジェクトシステムのモデルは,進化し続
けており,大幅な差異が生じることがある。そのため,JSONでは,名前と値とのペアの集まりを表現す
るための簡単な表記法だけを提供する。ほとんどのプログラミング言語は,そのような集まりを表現する
ための何らかの機能をもち,それらはrecord,struct,dict,map,hashなどの名前で呼ばれること
が多い。
また,JSONは,順序付けられた値の並びにも対応している。全てのプログラミング言語は,そのよう
な並びを表現するための何らかの機能をもち,それらは,array,vector,listなどの名前で呼ばれる
ことが多い。オブジェクト及び配列は入れ子にできるので,木構造をはじめとする複雑なデータ構造を表
せる。JSONの簡単な規約を受け入れることによって,互換性のないプログラミング言語間でも複雑なデ
ータ構造を容易に交換できる。
JSONでは,少なくとも直接は,循環グラフをサポートしない。JSONは,バイナリデータを要求するア

――――― [JIS X 3061 pdf 3] ―――――

           2
X 3061 : 2021 (ISO/IEC 21778 : 2017)
プリケーションには適していない。
他の規格は,意味論の解釈及び様々な符号化の細部に対する制限を課しつつ,厳密にJSON構文を遵守
しながら,この構文を参照することが予期される。そのような規格は,特定の挙動を指定することがある。
JSON自体は挙動を指定しない。
JSONの文法は非常に簡潔であるため,今後変更されることは予期されない。したがって,基礎的な表
記法として非常に安定したものと考えられる。
JSONは,2001年にJSON.orgのWebサイトで初めて世界に提供された。JSON構文の定義は,その後,
2006年7月にIETF RFC 4627として発行された。ECMA-262, Fifth Edition(2009)には,JSON文法に関
する規定が含まれていた。この規格は,JSON構文の以前の定義を置き換える。同時に,IETFは,RFC 4627
の更新版としてRFC 7158,RFC 7159及び2017年にRFC 8259を発行した。この規格及びRFC 8259で規
定されているJSON構文は,同一であることが意図されている。

1 適用範囲

  この規格は,データ交換フォーマットJSONについて規定する。JSONは,データ交換フォーマットを
定義するための,軽量でテキストベース,かつ,言語に依存しない構文である。JSONは,ECMAScriptプ
ログラミング言語から派生したものであるが,プログラミング言語に依存しない。JSONは,構造化デー
タの移植可能な表現のために,少数の構造化規則を定義する。
この規格の目的は,有効なJSONテキストの構文を定義することだけである。構文に適合するテキスト
の意味論又は解釈を提供することは意図していない。また,有効なJSONテキストが,プログラミング言
語のデータ構造としてどのように実装されるかについても,意図的に定義していない。JSON構文には多
くの適用可能な意味論が存在し,JSONテキストをプログラミング言語で処理又は対応付けすることが可
能な方法も多く存在する。JSONによる意味のある情報交換には,関係者間で適用される特定の意味論に
ついての合意が必要である。JSONに特定の意味上の解釈を定義することは,他の規格に委ねる。同様に,
JSONを言語に対応付けることも,別に規定することもできる。例えば,ECMA-262は有効なJSONテキ
ストとECMAScriptの実行時データ構造との対応付けを定義している。
注記 この規格の対応国際規格及びその対応の程度を表す記号を,次に示す。
ISO/IEC 21778:2017,Information technology−The JSON data interchange syntax(IDT)
なお,対応の程度を表す記号“IDT”は,ISO/IEC Guide 21-1に基づき,“一致している”こ
とを示す。

2 適合性

  適合するJSONテキストは,この規格によって定義するJSON文法に厳密に適合するUnicodeコードポ
イントの列とする。
JSONテキストの適合処理系は,適合しないJSONテキストを受理しないことが望ましい。適合処理系
は,適合するJSONテキストの中で,処理するものの集合を制限する意味上の制約を課してもよい。

3 引用規格

  次に掲げる規格は,この規格に引用されることによって,この規格の規定の一部を構成する。これらの
引用規格は,その最新版(追補を含む。)を適用する。
JIS X 0221 国際符号化文字集合(UCS)

――――― [JIS X 3061 pdf 4] ―――――

                                                                                             3
X 3061 : 2021 (ISO/IEC 21778 : 2017)
注記 対応国際規格 : ISO/IEC 10646,Information technology−Universal Coded Character Set (UCS)
The Unicode Standard The Unicode Consortium, http://www.unicode.org/versions/latest
RFC 8259,The JavaScript Object Notation (JSON) ata Interchange Format
この規格及びRFC 8259は,両者ともJSON文法の仕様を与えるが,異なる定式化を用いている。その
意図は,両方の規格が同じ構文の言語を定義することである。これらの間に差が見つかった場合,Ecma
internationalはIETFと協力して,両方の文書を更新する。いずれかの文書で誤りが見つかった場合,もう
一方の文書に同様の誤りがあるかどうか調べ,もしあればその誤りを修正する。いずれかの文書が将来に
おいて変更されることがある場合,Ecma internationalはIETFと協力して,変更後も二つの文書の整合性を
保つ。RFC 8259は,また,JSON構文の使用に関する様々な意味上の制約を定義している。これらの制約
は,この規格の一部ではない。

4 JSONテキスト

  JSONテキストは,Unicodeコードポイントからなるトークンの列であり,JSON値の文法に適合するも
のとする。トークンは6個の構造トークン,文字列,数及び3個のリテラル名トークンからなる。
6個の構造トークンは次のとおりとする。
[ U+005B 左角括弧
[{ U+007B 左波括弧
] U+005D 右角括弧
}] U+007D 右波括弧
: U+003A コロン
, U+002C コンマ
3個のリテラル名トークンは次のとおりとする。
true U+0074 U+0072 U+0075 U+0065
false U+0066 U+0061 U+006C U+0073 U+0065
null U+006E U+0075 U+006C U+006C
任意のトークンの前後に意味のない空白類が許される。空白類は,タブ(U+0009),改行(U+000A),
復帰(U+000D)及びスペース(U+0020)のうち一つ以上のコードポイントの列とする。文字列中に許さ
れるスペースを除き,トークンの内側に空白類は許されない。

5 JSON値

  JSON値は,オブジェクト,配列,数,文字列,true,false又はnullのいずれかとする。

――――― [JIS X 3061 pdf 5] ―――――

次のページ PDF 6

JIS X 3061:2021の引用国際規格 ISO 一覧

  • ISO/IEC 21778:2017(IDT)

JIS X 3061:2021の国際規格 ICS 分類一覧

JIS X 3061:2021の関連規格と引用規格一覧