JavaScript-Guide für Objektschlüssel
Objektschlüssel in JavaScript zu camelCase konvertieren
Wenn eine API snake_case-JSON liefert und die App camelCase nutzt, konvertiere die Keys einmal an der Grenze statt Properties überall manuell umzubenennen.
JavaScript-Implementierung
function toCamelKey(key) {
return key.replace(/[-_]+([a-zA-Z0-9])/g, (_, char) => char.toUpperCase()).replace(/^([A-Z])/, (char) => char.toLowerCase())
}
function keysToCamel(value) {
if (Array.isArray(value)) return value.map(keysToCamel)
if (value === null || typeof value !== "object") return value
const output = {}
for (const [key, child] of Object.entries(value)) {
const nextKey = toCamelKey(key)
if (Object.hasOwn(output, nextKey)) throw new Error(`Key collision: ${nextKey}`)
output[nextKey] = keysToCamel(child)
}
return output
}Arrays vor dem generischen Objektpfad behandeln, damit enthaltene Objekte konvertiert und skalare Werte unverändert bleiben.
Kollisionsprüfung verhindert, dass zwei Quellschlüssel nach Normalisierung einen Wert überschreiben.
Grenzfälle in Produktion
- API, URL, UUID und OAuth können projektspezifische Akronymregeln brauchen.
- _id, __typename und $schema können semantische Präfixe sein, die erhalten bleiben sollen.
- Deep Conversion und Top-Level-only sind unterschiedliche Verträge.
- Date, Map, Set und Klasseninstanzen außerhalb von JSON brauchen getrennte Behandlung.
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.
{
"userProfile": {
"firstName": "Ada",
"createdAt": "2026-09-12"
}
}Parsing, Dateilesen, Formatierung und Schlüsselkonvertierung laufen lokal im Browser. JSON wird nicht an einen Conversion-Server gesendet.