Guía de claves de objeto en JavaScript
Convertir claves de objeto a camelCase en JavaScript
Si una API devuelve JSON snake_case y la app usa camelCase, convierte las claves una vez en el límite en lugar de renombrar propiedades por toda la app.
Implementación en JavaScript
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
}Procesa arrays antes del objeto genérico para convertir cada objeto contenido y conservar escalares.
La detección de colisiones evita que dos claves normalizadas al mismo camelCase sobrescriban un valor.
Casos límite en producción
- API, URL, UUID y OAuth pueden requerir reglas de acrónimos específicas.
- _id, __typename y $schema pueden tener prefijos semánticos que conviene preservar.
- Conversión profunda y solo nivel superior son contratos distintos.
- Date, Map, Set e instancias no JSON requieren tratamiento separado.
Probar claves de objeto online
Pega un objeto JSON para probar conversión recursiva, solo nivel superior, exclusiones, prefijos _/$ y colisiones.
Suelta un archivo .json o elige uno de tu dispositivo
Los archivos se leen solo en tu navegador. Tamaño máximo: 5 MB.
{
"userProfile": {
"firstName": "Ada",
"createdAt": "2026-09-12"
}
}El análisis, lectura de archivos, formato y conversión se ejecutan localmente en tu navegador. El JSON no se envía a un servidor de conversión.