JSON-Key-Namenskonventionen: camelCase vs snake_case in APIs
Es gibt keinen offiziellen Standard für die Benennung von JSON-Keys. Die JSON-Spezifikation definiert Keys als Strings — eine bestimmte Schreibkonvention wird nicht vorgeschrieben. In der Praxis dominieren zwei Konventionen: camelCase und snake_case.
Was große APIs verwenden
| API / Plattform | Konvention | Beispiel |
|---|---|---|
| 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"} |
Argumente für camelCase
- Native in JavaScript — keine Konvertierung im Frontend-Code nötig
- Empfohlen von Googles JSON Style Guide
- Kürzer als snake_case (keine Unterstriche)
- Natürliche Wahl für APIs, die hauptsächlich von Web-/Mobil-Clients konsumiert werden
Argumente für snake_case
- Besser lesbar — Unterstriche schaffen visuelle Wortgrenzen
- Native in Python, Ruby und SQL — keine Konvertierung im Backend-Code nötig
- Wird von den meisten der größten APIs verwendet (GitHub, Twitter, Stripe)
- Konsistent mit Datenbank-Spaltennamen (die fast immer snake_case sind)
Die echte Antwort: Passen Sie sich Ihrem Stack an
Die beste Konvention hängt davon ab, wo das JSON erzeugt und konsumiert wird:
| Szenario | Empfehlung | Warum |
|---|---|---|
| JavaScript-Backend + JavaScript-Frontend | camelCase | Nirgendwo Konvertierung nötig |
| Python/Ruby-Backend + beliebiges Frontend | snake_case | Passt zu Backend-Idiomen; Frontends können konvertieren |
| Öffentliche API für viele Sprachen | snake_case | Universeller lesbar |
| Interne Microservices | Beides (Hauptsache konsistent) | Interne Konsistenz ist am wichtigsten |
Konvertierung an der Grenze
In der Praxis konvertieren viele Teams JSON-Keys an der API-Grenze. Ein Python-Backend gibt snake_case zurück, und eine Middleware oder ein clientseitiges Utility konvertiert für das React-Frontend zu camelCase. Bibliotheken wie humps (JavaScript) und djangorestframework-camel-case (Python) automatisieren dies.
Regeln für gute JSON-Keys
- Seien Sie konsistent. Mischen Sie nicht
userIdunduser_namein derselben Antwort. - Verwenden Sie beschreibende Namen.
createdAtstattca. - Vermeiden Sie Abkürzungen.
organizationIdstattorgId. - Verwenden Sie Pluralformen für Arrays.
itemsstattitemfür eine Liste. - Vermeiden Sie Verschachtelungen tiefer als 3 Ebenen. Flachen Sie ab, wo möglich.
JSON-Keys sofort konvertieren
Verwenden Sie unseren JSON-Keys-zu-camelCase oder JSON-Keys-zu-snake_case Konverter. Für einfachen Text nutzen Sie den camelCase-Konverter oder den Case-Converter-Hub.