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 名称都是大小写敏感的。服务器和客户端都必须使用指定的字符大小写来传输和处理它们。