Existe-t-il une norme sur la dénomination de JSON ? Je vois la plupart des exemples à l’aide de minuscules séparés par le caractère de soulignement (lower_case). Mais pouvez-vous utiliser PascalCase ou camelCase ?
Réponses
Trop de publicités?Dans le présent document (recommandations pour la création d’API JSON avec Google) :
Il recommande que :
1 / les noms de propriété doivent être casse, chaînes ascii.
2 / le premier caractère doit être une lettre, un trait de soulignement (_) ou un signe dollar ($).
Exemple :
Notre équipe utilise cette convention.
Il n'y a pas de norme, mais j'ai vu les 3 styles que vous mentionnez ("Pascal/Microsoft", "Java" (camelCase) et "C" (souligne)). Donc, il semble surtout dépendre de ce que fond les développeurs du service en question; ceux avec c/c++ arrière-plan (ou des langues adopter le même type de nommage, qui comprend de nombreux langages de script, ruby, etc) choisissent souvent de soulignement variante; et le repos de la même façon (Java vs .NET). Jackson bibliothèque qui a été mentionné, par exemple, suppose bean Java naming convention (camelCase)
JSON qui a commencé comme une partie d'un JavaScript spécification et c'est là où il a obtenu son nom de JavaScript Object Notation.
Il n'existe aucune norme de nommage de clés en JSON mais en JavaScript, il existe une norme de nommage pour les membres de la classe et qui est en camelCase. Exemples célèbres sont:
navigator.userAgent
navigator.appVersion
screen.availWidth
Appropriées de la convention de nommage des touches de JSON est et doit être en camelCase indépendamment de ce langage de programmation le JSON a été formé.
Notamment pour moi sur NodeJS, si je travaille avec des bases de données et mes noms de champ sont de soulignement séparés, j'ai aussi les utiliser dans la structure des clés.
C'est parce que les db ont beaucoup d'acronymes/abréviations donc quelque chose comme appSNSInterfaceRRTest semble un peu compliqué, mais app_sns_interface_rr_test est plus agréable.
En Javascript, les variables sont toutes camelCase et les noms de classe (constructeurs) sont ProperCase, donc, si vous voulez voir quelque chose comme
var devTask = {
task_id: 120,
store_id: 2118,
task_name: 'generalLedger'
};
ou
generalLedgerTask = new GeneralLedgerTask( devTask );
Et bien sûr en JSON clés/les chaînes de caractères sont enveloppés dans des guillemets, mais alors il suffit d'utiliser le JSON.stringify et passer en JS objets, afin de ne pas besoin de s'inquiéter à ce sujet.
J'ai eu du mal avec cela un peu jusqu'à ce que j'ai trouvé ce juste milieu entre JSON et JS conventions de nommage.
Semble qu’il y a assez variations auxquelles les gens font de leur mieux pour permettre la conversion de toutes les conventions à d’autres : http://www.cowtowncoder.com/blog/archives/cat_json.html
Notamment, l’analyseur de Jackson JSON mentionné préfère `` .