<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> <dfn><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">I-JSON</anchor></dfn> は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IETF</anchor> が <dfn><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 7493</anchor></dfn> で規定する <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor>
の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プロファイル</anchor>です。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> 名称は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Internet JSON</anchor> の略 <src><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;3</anchor-internal></src> とされています。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[13]</anchor-end> さして有用な規定も含まれておらず、いくつかの仕様書が参照している他は、世間からはほぼ完全に無視されています。</p><section><h1>仕様書</h1><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> <cite xml:lang="en">RFC 7493 - The I-JSON Message Format</cite>
(<time>2015-03-24 03:09:18 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://tools.ietf.org/html/rfc7493">https://tools.ietf.org/html/rfc7493</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="37" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[37]</anchor-end> <cite>RFC Errata Report » RFC Editor</cite> (<time>2018-05-11 01:05:50 +09:00</time>) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.rfc-editor.org/errata_search.php?rfc=7493">https://www.rfc-editor.org/errata_search.php?rfc=7493</anchor-external></li></ul></refs></section><section><h1>言語</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> <dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><anchor>I-JSONメッセージ</anchor><rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">I-JSON message</rt></rubyb></dfn> <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;3</anchor-internal></src> は、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 7159</anchor>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IETF</anchor> 独自の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor> 仕様) に従う <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON text</anchor> のうち、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 7493</anchor>
の制限に従うものをいいます。具体的には次のような制限があります <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;3</anchor-internal></src>。<figure class="list"><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="15" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[15]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 3629</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor> で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">符号化</anchor>しなければ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">なりません</strong></anchor>。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="16" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[16]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">サロゲート</anchor>や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非文字</anchor>を (直接であれ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">エスケープ</anchor>としてであれ)
含んでは<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">なりません</strong></anchor>。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[17]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IEEE 754倍精度浮動小数点数</anchor>で表せない<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">数</anchor>を含める<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">べきではありません</strong></anchor>。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="18" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[18]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IEEE 754倍精度浮動小数点数</anchor>で表せない<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">数</anchor>は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字列</anchor>とする<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">べきです</strong></anchor>。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="19" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[19]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">オブジェクト</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メンバー</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前</anchor>に重複があっては<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">なりません</strong></anchor>。</li></ul></figure></p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="27" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[27]</anchor-end> つまり<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">I-JSONメッセージ</anchor>は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">バイト列</anchor>です。 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">I-JSONメッセージ</anchor>を
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML</anchor> などに直接埋め込むことはできません。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="20" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[20]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">オブジェクト</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メンバー</anchor>の順序に意味はないとも規定されています <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;3</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 7493</anchor> はその他にプロトコル設計者に対する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">推奨</strong></anchor>も幾つか規定しています
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;3</anchor-internal></src>。</p><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="21" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[21]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">I-JSONメッセージ</anchor>の制約に従わないものを受信したら、
その旨を送信者に通知できるようにする<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">べきです</strong></anchor>。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="22" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[22]</anchor-end> 最上位に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">オブジェクト</anchor>や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">配列</anchor><em>以外</em>を使う<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">べきではありません</strong></anchor>。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="23" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[23]</anchor-end> 原則として、未知のものを誤りとする <dfn><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Must-Understand</anchor></dfn> 方針より、
無視する <dfn><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Must-Ignore</anchor></dfn> 方針の方が良いと考えられます。
Must-Ignore 法を使うなら、最上位を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">オブジェクト</anchor>とし、
未知のメンバーは無視しなければ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">ならない</strong></anchor>と規定するのが良いです。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="24" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[24]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">日時形式</anchor>は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 3339の日時形式</anchor>で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">大文字</anchor>を使い、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">時間帯</anchor>も<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">秒</anchor>も明示する形式とする<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">べきです</strong></anchor>。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="25" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[25]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">時間形式</anchor>は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 3339の時間形式</anchor>で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">日時形式</anchor>は <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="24" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;24</anchor-internal> とする<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">べきです</strong></anchor>。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="26" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[26]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">バイナリーデータ</anchor>は、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 4648</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">base64url</anchor> で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">符号化</anchor>する<SHOULD xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">べきです</SHOULD>。</li></ul></section><section><h1>相互運用性</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[14]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">I-JSON</anchor> データは、すべて <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor> データです。逆に任意の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor>
データは、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">I-JSON</anchor> データとは限りません。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">I-JSON</anchor> により <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor> の実装が簡単になるという人もいますが、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">I-JSON</anchor> 以外の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor> を完全に禁止できる特殊な環境で使う場合を除き、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">I-JSON</anchor> のみしか受け入れない実装は有用ではありません。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> 既存の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor> の実装が入力が <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">I-JSON</anchor> に従うかどうかも検査する動作モードも実装する場合、
実装の手間はかえって増えてしまいます。 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">I-JSON</anchor> のみ受け入れる実装と、
一般の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor> として <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">I-JSON</anchor> を受け入れる実装が混在すると、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">I-JSON</anchor> ではないものが <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">I-JSON</anchor> として送信された時に、
実装によって受け入れられたり受け入れられなかったりしますから、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">相互運用性</anchor>の問題につながります。
従って、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">I-JSON</anchor> でない <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor> を拒絶する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">構文解析器</anchor>を作ってはいけません。</comment-p></section><section><h1>歴史</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <cite xml:lang="en">The I-JSON Message Format</cite>
( (<time>2013-07-03 21:37:36 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.tbray.org/tmp/i-json.html">https://www.tbray.org/tmp/i-json.html</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> <cite xml:lang="en">draft-ietf-json-i-json-00 - The I-JSON Message Format</cite>
( (<time>2014-05-01 03:54:47 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://tools.ietf.org/html/draft-ietf-json-i-json-00">http://tools.ietf.org/html/draft-ietf-json-i-json-00</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end> <cite xml:lang="en">ongoing by Tim Bray · RFC 7493: The I-JSON Message Format</cite>
(<time>2015-04-01 01:55:02 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.tbray.org/ongoing/When/201x/2015/03/23/i-json">https://www.tbray.org/ongoing/When/201x/2015/03/23/i-json</anchor-external></p><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end> <cite>OData JSON Format Version 4.0 Plus Errata 02</cite>
(<time>2014-10-31 01:00:00 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://docs.oasis-open.org/odata/odata-json-format/v4.0/odata-json-format-v4.0.html">http://docs.oasis-open.org/odata/odata-json-format/v4.0/odata-json-format-v4.0.html</anchor-external></figcaption><blockquote><p>The IEEE754Compatible=true format parameter indicates that the service MUST serialize Edm.Int64 and Edm.Decimal numbers (including the odata.count, if requested) as strings. This is in conformance with <strong>[</strong>I-JSON<strong>]</strong>.</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end> <cite xml:lang="en-US">JSR-000367 Java API for JSON Binding Early Draft Review</cite> (<time>2015-08-19 22:44:28 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://download.oracle.com/otndocs/jcp/json_b-1-edr-spec/index.html">http://download.oracle.com/otndocs/jcp/json_b-1-edr-spec/index.html</anchor-external></figcaption><blockquote><p>JSON Binding provides full support for I-JSON standard. Without any configuration, JSON Binding produces
JSON documents which are compliant with I-JSON with three exceptions.<ul><li> JSON Binding does not restrict the serialization of top-level JSON texts that are neither objects nor
arrays. The restriction should happen at application level.</li><li> JSON Binding does not serialize binary data with base64url encoding.</li><li> JSON Binding does not enforce additional restrictions on dates/times/duration.</li></ul></p><p>These exceptions refer only to recommended areas of I-JSON.</p><p>To enforce strict compliance of serialized JSON documents, JSON Binding implementations MUST implement
configuration option ”jsonb.i-json.strict-ser-compliance”. [JSB-4.4-1]</p><p>The way to enable strict compliance of serialized JSON documents, is to call method
JsonbConfig::withStrictIJSONSerializationCompliance with parameter true.</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="28" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[28]</anchor-end> <cite>JSON Mail Access Protocol Specification (JMAP)</cite>
(<time>2016-03-11 14:55:42 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://jmap.io/spec.html">http://jmap.io/spec.html</anchor-external></figcaption><blockquote><p>JSON is a text-based data interchange format as specified in RFC7159. The I-JSON format defined in RFC7493 is a strict subset of this, adding restrictions to avoid potentially confusing scenarios (for example, it mandates that an object MUST NOT have two properties with the same key). All data sent from the client to the server or from the server to the client MUST be valid I-JSON according to the RFC, is case-sensitive, and encoded in UTF-8.</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="29" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[29]</anchor-end> <cite xml:lang="en">RFC 7946 - The GeoJSON Format</cite>
(<time>2016-08-19 22:23:34 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://tools.ietf.org/html/rfc7946">https://tools.ietf.org/html/rfc7946</anchor-external></figcaption><blockquote><p>GeoJSON texts should follow the constraints of Internet JSON (I-JSON)</p><p><strong>[</strong>RFC7493<strong>]</strong> for maximum interoperability.</p></blockquote></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="30" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[30]</anchor-end> <cite><strong>[</strong>Json<strong>]</strong> I-JSON</cite>
(<time>2016-11-20 11:20:02 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.ietf.org/mail-archive/web/json/current/msg03982.html">https://www.ietf.org/mail-archive/web/json/current/msg03982.html</anchor-external></p><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="31" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[31]</anchor-end> <cite xml:lang="en">RFC 8006 - Content Delivery Network Interconnection (CDNI) Metadata</cite>
(<time>2016-12-14 14:55:04 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://tools.ietf.org/html/rfc8006#section-6.4">https://tools.ietf.org/html/rfc8006#section-6.4</anchor-external></figcaption><blockquote><p>CDNI Metadata objects MUST be encoded as I-JSON objects <strong>[</strong>RFC7493<strong>]</strong></p><p>containing a dictionary of (key,value) pairs where the keys are the</p><p>property names and the values are the associated property values.</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="32" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[32]</anchor-end> <cite xml:lang="en">RFC 8008 - Content Delivery Network Interconnection (CDNI) Request Routing: Footprint and Capabilities Semantics</cite>
(<time>2016-12-20 02:50:06 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://tools.ietf.org/html/rfc8008#section-5.2">https://tools.ietf.org/html/rfc8008#section-5.2</anchor-external></figcaption><blockquote><p>CDNI FCI objects MUST be encoded using JSON <strong>[</strong>RFC7159<strong>]</strong> and MUST also</p><p>follow the recommendations of I-JSON (Internet JSON) <strong>[</strong>RFC7493<strong>]</strong>. </p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="33" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[33]</anchor-end> <cite xml:lang="en">RFC 7975 - Request Routing Redirection Interface for Content Delivery Network (CDN) Interconnection</cite>
(<time>2017-03-06 03:04:43 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://tools.ietf.org/html/rfc7975#section-4.2">https://tools.ietf.org/html/rfc7975#section-4.2</anchor-external></figcaption><blockquote><p>The body of RI requests and responses is a JSON object <strong>[</strong>RFC7159<strong>]</strong> that</p><p>contains a dictionary of key:value pairs that MUST conform to</p><p><strong>[</strong>RFC7493<strong>]</strong>. </p></blockquote></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="34" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[34]</anchor-end> <cite xml:lang="en">jsonb-spec/spec.pdf at master · javaee/jsonb-spec</cite>
(<time>2018-04-24 00:55:58 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/javaee/jsonb-spec/blob/master/spec/spec.pdf">https://github.com/javaee/jsonb-spec/blob/master/spec/spec.pdf</anchor-external></p><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="35" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[35]</anchor-end> <cite xml:lang="en">IETF standard for I-JSON compliant extended numeric data types · Issue #1561 · OAI/OpenAPI-Specification</cite>
(<time>2018-05-11 01:03:46 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/OAI/OpenAPI-Specification/issues/1561">https://github.com/OAI/OpenAPI-Specification/issues/1561</anchor-external></figcaption><blockquote><p>There are though important standards out there (like JOSE) that without mentioning it effectively are based on/compliant with I-JSON beacuse they target browsers and Node.js as well.</p></blockquote></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="36" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[36]</anchor-end> うわー最強理論じゃんこれwwww</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="38" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[38]</anchor-end> <cite><strong>[</strong>Json<strong>]</strong> Bug in RFC7493 (I-JSON)?</cite>
(<time>2018-05-10 14:20:04 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.ietf.org/mail-archive/web/json/current/msg04303.html">https://www.ietf.org/mail-archive/web/json/current/msg04303.html</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="39" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[39]</anchor-end> <cite xml:lang="en">cyberphone/I-JSON-Number-System: Extended Numeric Data Types compliant with I-JSON</cite>
(<time>2018-06-06 14:30:08 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/cyberphone/I-JSON-Number-System">https://github.com/cyberphone/I-JSON-Number-System</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="40" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[40]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">I-JSON</anchor> と名乗っているけど <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">I-JSON</anchor> と関係ないの草</p></section></body></html>