Conventions de nommage des clés JSON : camelCase vs snake_case dans les APIs

5 min de lecture

Il n'existe pas de standard officiel pour nommer les clés JSON. La spécification JSON indique que les clés sont des chaînes de caractères — elle n'impose pas de convention de casse. En pratique, deux conventions dominent : camelCase et snake_case.

Ce qu'utilisent les grandes APIs

API / PlateformeConventionExemple
Google APIscamelCase{"userId": 1, "displayName": "Alice"}
Twitter/X APIsnake_case{"user_id": 1, "screen_name": "alice"}
GitHub APIsnake_case{"login": "alice", "avatar_url": "..."}
Stripe APIsnake_case{"customer_id": "cus_123", "created_at": 1234}
FirebasecamelCase{"createdAt": "...", "userId": "abc"}
AWS APIsPascalCase{"InstanceId": "i-123", "State": "running"}

Arguments en faveur de camelCase

  • Natif en JavaScript — aucune conversion nécessaire dans le code frontend
  • Recommandé par le Google JSON Style Guide
  • Plus court que snake_case (pas de tirets bas)
  • Choix naturel pour les APIs consommées principalement par des clients web/mobile

Arguments en faveur de snake_case

  • Plus lisible — les tirets bas créent des limites visuelles entre les mots
  • Natif en Python, Ruby et SQL — aucune conversion nécessaire côté backend
  • Utilisé par la plupart des plus grandes APIs (GitHub, Twitter, Stripe)
  • Cohérent avec les noms de colonnes de bases de données (presque toujours en snake_case)

La vraie réponse : adaptez-vous à votre stack

La meilleure convention dépend de l'endroit où le JSON est produit et consommé :

ScénarioRecommandéPourquoi
Backend JavaScript + frontend JavaScriptcamelCaseAucune conversion nécessaire nulle part
Backend Python/Ruby + tout frontendsnake_caseCorrespond aux idiomes du backend ; les frontends peuvent convertir
API publique pour de nombreux langagessnake_casePlus universellement lisible
Microservices internesL'un ou l'autre (la cohérence prime)La cohérence interne est la plus importante

Conversion à la frontière

En pratique, de nombreuses équipes convertissent les clés JSON à la frontière de l'API. Un backend Python renvoie du snake_case, et un middleware ou un utilitaire côté client convertit en camelCase pour le frontend React. Des bibliothèques comme humps (JavaScript) et djangorestframework-camel-case (Python) automatisent ce processus.

Règles pour de bonnes clés JSON

  • Soyez cohérent. Ne mélangez pas userId et user_name dans la même réponse.
  • Utilisez des noms descriptifs. createdAt plutôt que ca.
  • Évitez les abréviations. organizationId plutôt que orgId.
  • Utilisez le pluriel pour les tableaux. items plutôt que item pour une liste.
  • Évitez l'imbrication au-delà de 3 niveaux. Aplatissez quand c'est possible.

Convertissez vos clés JSON instantanément

Utilisez notre convertisseur de clés JSON en camelCase ou clés JSON en snake_case. Pour du texte brut, essayez le convertisseur camelCase ou le hub de conversion de casse.