JavaScript-Guide für Objektschlüssel

Objektschlüssel in JavaScript zu snake_case konvertieren

Wenn das Frontend camelCase nutzt und die API snake_case erwartet, transformiere Keys an der Serialisierungsgrenze.

Von Camel Case Converter RedaktionVeröffentlicht 12.09.2026Zuletzt geprüft

JavaScript-Implementierung

function toSnakeKey(key) {
  return key.replace(/([A-Z]+)([A-Z][a-z])/g, "$1_$2").replace(/([a-z0-9])([A-Z])/g, "$1_$2").replace(/[-\s]+/g, "_").toLowerCase()
}

function keysToSnake(value) {
  if (Array.isArray(value)) return value.map(keysToSnake)
  if (value === null || typeof value !== "object") return value
  const output = {}
  for (const [key, child] of Object.entries(value)) {
    const nextKey = toSnakeKey(key)
    if (Object.hasOwn(output, nextKey)) throw new Error(`Key collision: ${nextKey}`)
    output[nextKey] = keysToSnake(child)
  }
  return output
}

camelCase- und Akronymgrenzen trennen, Separatoren normalisieren und den finalen Key kleinschreiben.

Ein neues Objekt aufzubauen ermöglicht die Kollisionsprüfung vor jeder Zuweisung.

Grenzfälle in Produktion

  • HTTPURL, userID oder OAuthToken können explizite Akronymregeln brauchen.
  • Semantische Präfixe wie _id und $schema können erhalten bleiben.
  • Vor Rekursion entscheiden, ob der API-Vertrag Deep Conversion oder nur Top-Level verlangt.
  • Kollisionsprüfung beibehalten, weil verschiedene JS-Keys denselben snake_case-Key erzeugen können.

Objektschlüssel online testen

Teste rekursive Key-Konvertierung, Top-Level-Modus, Ausschlüsse, _/$-Präfixe und Kollisionen an einem JSON-Objekt.

.json-Datei hier ablegen oder vom Gerät auswählen

Dateien werden nur im Browser gelesen. Maximale Größe: 5 MB.

Konvertiertes JSON
{
  "user_profile": {
    "first_name": "Ada",
    "created_at": "2026-09-12"
  }
}

Parsing, Dateilesen, Formatierung und Schlüsselkonvertierung laufen lokal im Browser. JSON wird nicht an einen Conversion-Server gesendet.