Conventions de nommage des clés JSON : camelCase vs snake_case dans les APIs
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 / Plateforme | Convention | Exemple |
|---|---|---|
| Google APIs | camelCase | {"userId": 1, "displayName": "Alice"} |
| Twitter/X API | snake_case | {"user_id": 1, "screen_name": "alice"} |
| GitHub API | snake_case | {"login": "alice", "avatar_url": "..."} |
| Stripe API | snake_case | {"customer_id": "cus_123", "created_at": 1234} |
| Firebase | camelCase | {"createdAt": "...", "userId": "abc"} |
| AWS APIs | PascalCase | {"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énario | Recommandé | Pourquoi |
|---|---|---|
| Backend JavaScript + frontend JavaScript | camelCase | Aucune conversion nécessaire nulle part |
| Backend Python/Ruby + tout frontend | snake_case | Correspond aux idiomes du backend ; les frontends peuvent convertir |
| API publique pour de nombreux langages | snake_case | Plus universellement lisible |
| Microservices internes | L'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
userIdetuser_namedans la même réponse. - Utilisez des noms descriptifs.
createdAtplutôt queca. - Évitez les abréviations.
organizationIdplutôt queorgId. - Utilisez le pluriel pour les tableaux.
itemsplutôt queitempour 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.