Aller au contenu principal

2.1. Naming (Dénomination)

2.1. Naming (Dénomination)

Les clients de ces réponses JSON DEVRAIENT ignorer les membres JSON non reconnus dans les réponses. Les serveurs peuvent insérer des membres dans les réponses JSON qui ne sont pas spécifiés dans ce document, mais cela ne constitue pas une erreur dans la réponse. Les serveurs qui insèrent de tels membres non spécifiés dans les réponses JSON DEVRAIENT avoir des noms de membres préfixés par un identifiant court suivi d'un trait de soulignement suivi d'un nom significatif. Il a été observé que ces identifiants courts aident les implémenteurs de logiciels à identifier la spécification du membre JSON, et le fait de ne pas en utiliser un pourrait amener un implémenteur à supposer que le serveur utilise à tort un nom de cette spécification. Cette tolérance ne s'applique pas aux objets jCard [RFC7095]. Le nom JSON complet (le préfixe plus le trait de soulignement plus le nom significatif) DEVRAIT respecter les limitations de caractères et de noms du registre de préfixes décrit dans [RFC7480]. Le non-respect de ces limitations pourrait entraîner une adoption plus lente car ces limitations ont été observées pour aider certains modèles de programmation client.

Considérez la réponse JSON suivante avec des membres JSON, qui sont tous spécifiés dans ce document.

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

Figure 1

Si le registre de la Lune souhaite exprimer des informations non trouvées dans cette spécification, il pourrait sélectionner "lunarNIC" comme préfixe d'identification et insérer, par exemple, le membre nommé "lunarNIC_beforeOneSmallStep" pour signifier les enregistrements survenant avant le premier alunissage et le membre nommé "lunarNIC_harshMistressNotes" qui contient d'autres textes descriptifs.

Considérez la réponse JSON suivante avec des noms JSON, dont certains devraient être ignorés par les clients sans connaissance de leur signification.

{
"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."
]
}

Figure 2

L'insertion de membres non reconnus ignorés par les clients peut également être utilisée pour les révisions futures de cette spécification.

Les clients traitant les réponses JSON doivent être préparés à ce que les membres représentant les données d'enregistrement spécifiées dans ce document soient absents d'une réponse. En d'autres termes, les serveurs sont libres d'omettre les membres JSON non requis/optionnels contenant des données d'enregistrement en fonction de leurs propres politiques.

Enfin, tous les noms JSON spécifiés dans ce document sont sensibles à la casse. Les serveurs et les clients DOIVENT les transmettre et les traiter en utilisant la casse de caractères spécifiée.