JSON-Key-Namenskonventionen: camelCase vs snake_case in APIs

5 Min. Lesezeit

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 / PlattformKonventionBeispiel
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"}

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:

SzenarioEmpfehlungWarum
JavaScript-Backend + JavaScript-FrontendcamelCaseNirgendwo Konvertierung nötig
Python/Ruby-Backend + beliebiges Frontendsnake_casePasst zu Backend-Idiomen; Frontends können konvertieren
Öffentliche API für viele Sprachensnake_caseUniverseller lesbar
Interne MicroservicesBeides (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 userId und user_name in derselben Antwort.
  • Verwenden Sie beschreibende Namen. createdAt statt ca.
  • Vermeiden Sie Abkürzungen. organizationId statt orgId.
  • Verwenden Sie Pluralformen für Arrays. items statt item fü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.