JSON-Keys zwischen camelCase und snake_case konvertieren
4 Min. Lesezeit
Die Konvertierung von JSON-Schlüsseln zwischen Namenskonventionen ist unerlässlich, wenn Frontend und Backend unterschiedliche Stile verwenden.
JavaScript: snake_case → camelCase
function camelizeKeys(obj) {
if (Array.isArray(obj)) return obj.map(camelizeKeys);
if (obj && typeof obj === 'object') {
return Object.fromEntries(
Object.entries(obj).map(([k, v]) => [
k.replace(/_([a-z])/g, (_, c) => c.toUpperCase()),
camelizeKeys(v)
])
);
}
return obj;
}
Python: camelCase → snake_case
import re
def snake_keys(obj):
if isinstance(obj, dict):
return {re.sub(r'(?<=[a-z])(?=[A-Z])', '_', k).lower(): snake_keys(v) for k, v in obj.items()}
if isinstance(obj, list):
return [snake_keys(i) for i in obj]
return obj