メインコンテンツまでスキップ

2.1. Naming (命名)

2.1. Naming (命名)

これらの JSON レスポンスのクライアントは、レスポンス内の認識されない JSON メンバーを無視すべきです。サーバーは、この文書で指定されていないメンバーを JSON レスポンスに挿入できますが、それはレスポンスのエラーを構成するものではありません。JSON レスポンスにそのような未指定のメンバーを挿入するサーバーは、短い識別子の後にアンダースコアが続き、その後に意味のある名前が続くプレフィックスを持つメンバー名を持つべきです。これらの短い識別子は、ソフトウェア実装者が JSON メンバーの仕様を識別するのに役立つことが観察されており、識別子を使用しないと、実装者がサーバーがこの仕様の名前を誤って使用していると想定する原因となる可能性があります。この許可は jCard [RFC7095] オブジェクトには適用されません。完全な JSON 名 (プレフィックスとアンダースコアと意味のある名前) は、[RFC7480] で説明されているプレフィックスレジストリの文字と名前の制限に従うべきです。これらの制限を使用しないと、これらの制限が一部のクライアントプログラミングモデルに役立つことが観察されているため、採用が遅くなる可能性があります。

この文書で指定されている JSON メンバーをすべて含む次の JSON レスポンスを考えてみましょう。

{
"handle" : "ABC123",
"remarks" :
[
{
"description" :
[
"She sells sea shells down by the sea shore.",
"Originally written by Terry Sullivan."
]
}
]
}

図 1

月のレジストリがこの仕様で見つからない情報を表現したい場合、識別プレフィックスとして "lunarNIC" を選択し、例として、最初の月面着陸前に発生した登録を示すために "lunarNIC_beforeOneSmallStep" という名前のメンバーと、その他の説明テキストを含む "lunarNIC_harshMistressNotes" という名前のメンバーを挿入する可能性があります。

次の JSON レスポンスを考えてみましょう。JSON 名のいくつかは、その意味を知らないクライアントによって無視されるべきです。

{
"handle" : "ABC123",
"lunarNIC_beforeOneSmallStep" : "TRUE THAT!",
"remarks" :
[
{
"description" :
[
"She sells sea shells down by the sea shore.",
"Originally written by Terry Sullivan."
]
}
],
"lunarNIC_harshMistressNotes" :
[
"In space,",
"nobody can hear you scream."
]
}

図 2

クライアントによって無視される認識されないメンバーの挿入は、この仕様の将来の改訂にも使用される可能性があります。

JSON レスポンスを処理するクライアントは、この文書で指定されている登録データを表すメンバーがレスポンスに存在しない場合に備える必要があります。言い換えれば、サーバーは、自身のポリシーに基づいて、登録データを含む不要な/オプションの JSON メンバーを自由に省略できます。

最後に、この文書で指定されているすべての JSON 名は大文字と小文字を区別します。サーバーとクライアントの両方は、指定された文字の大文字小文字を使用してそれらを送信および処理しなければなりません。