JSON では、「任意のトークンのペアの間に空白を挿入できる」と指定されています。指定されていないのは、まさに空白とは何かです。これを「昔ながらの ASCII 空白文字」または「Unicode 空白文字全体」と読むべきですか?
つまり、JSON を解析するとき、U+2000、U+2001、U+FEFF などはトークン間の有効な空白文字ですか?
JSON では、「任意のトークンのペアの間に空白を挿入できる」と指定されています。指定されていないのは、まさに空白とは何かです。これを「昔ながらの ASCII 空白文字」または「Unicode 空白文字全体」と読むべきですか?
つまり、JSON を解析するとき、U+2000、U+2001、U+FEFF などはトークン間の有効な空白文字ですか?
JSONの RFC4627 では、意味のない空白が定義されています。
6 つの構造文字の前または後には、意味のない空白を使用できます。
ws = *(
%x20 / ; Space
%x09 / ; Horizontal tab
%x0A / ; Line feed or New line
%x0D ; Carriage return
)
ちなみに、デフォルトのエンコーディングは UTF-8 です。
JSON テキストは Unicode でエンコードする必要があります。デフォルトのエンコーディングは UTF-8 です。
そうは言っても、元の実装ですべての形式のUnicode スペースを受け入れるつもりはなかったと思います。