Je vois beaucoup de questions tournées autour de l'accès aux clés JSON qui utilisent des tirets (cas de kebab), mais maintenant je me demande si je dois simplement m'en tenir à camelCase ou à snake_case dans mes clés. Je sais que les tirets peuvent également créer des mappages complexes lorsqu'ils sont portés entre les langues. J'ai vu des bibliothèques de désérialisation JSON convertir ces clés en style camelCase.
Exemple:
var something = {
"some-value": 'thing'
}
Contre
var something = {
"someValue": 'thing',
"some_other_value": 'thing_two'
}
javascript
api
api-design
json
web-api
Matt Oaxaca
la source
la source
Réponses:
Vous pouvez utiliser n'importe quoi comme clés JSON, tant qu'il est UTF-8 valide, ne contient aucun point de code, et il serait utile que vous puissiez représenter la clé sous forme de chaîne dans le langage de programmation de votre choix. Je pourrais recommander de ne pas utiliser différentes représentations Unicode de la même chaîne (par exemple "Ä" écrit comme un ou deux points de code).
Lecture de certains commentaires: Il semble que certaines personnes essaient de créer des classes avec des variables d'instance qui correspondent aux clés dans les dictionnaires JSON. Ce qui bien sûr ne fonctionne pas si votre clé est "une certaine valeur", sauf si vous écrivez COBOL. Je pense que c'est erroné. J'ai des classes modèles qui sont conçues comme je les veux. JSON est juste utilisé pour remplir les classes de modèle. Je prendrai tout ce que les gars du serveur ont décidé d'utiliser pour les clés et je le mettrai dans mes objets de modèle.
la source
Il existe de nombreux systèmes de sérialisation JSON qui sont plus que capables de gérer le mappage entre les noms de champs qui ne sont pas adaptés à une utilisation dans le langage avec lequel ils s'intègrent. Dans la plupart des cas, ils ne sont pas difficiles à utiliser et ne nécessitent qu'un petit effort supplémentaire. Dans un monde idéal, vous n'auriez pas à le faire, mais si votre API utilise déjà des tirets, le changer serait mieux guérir que la maladie. Notez également que l'utilisation des tirets est le style le plus courant dans certaines langues, notamment celles basées sur LISP, donc il y a probablement une minorité silencieuse des consommateurs de votre API qui sont heureux de voir des tirets plutôt qu'un autre format.
la source
Après avoir passé quelque temps dans l'industrie et avoir travaillé quelques systèmes. Je ne pense pas qu'il existe une meilleure pratique ou un boîtier approprié pour les clés JSON. L'aspect le plus important de toute mise en forme (boîtier / style de code / etc.) est la cohérence et l'adoption par l'équipe.
Si la base de code est fragmentée et incohérente, réunissez-vous en équipe et convenez d'un style cohérent, puis surveillez collectivement le formatage.
la source