camelCase-JSON fixen: API-Payloads in snake_case umwandeln
APIs mischen oft Konventionen: JavaScript-Clients erzeugen camelCase, Python-/Ruby-Backends erwarten snake_case. Eine dünne Transformationsschicht an der Serialisierungsgrenze löst das.
function toSnakeCase(obj) {
if (Array.isArray(obj)) return obj.map(toSnakeCase);
if (obj && typeof obj === "object") {
return Object.fromEntries(
Object.entries(obj).map(([k, v]) => [
k.replace(/[A-Z]/g, c => "_" + c.toLowerCase()),
toSnakeCase(v),
])
);
}
return obj;
}