Corriger du JSON en camelCase : convertir les payloads d'API en snake_case
Les API mélangent souvent les conventions : les clients JavaScript produisent du camelCase, les backends Python/Ruby attendent du snake_case. Une fine couche de transformation à la frontière de sérialisation règle ça.
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;
}