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.
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.