Guide des clés d’objet en JavaScript
Convertir les clés d’objet en camelCase en JavaScript
Si une API renvoie du JSON snake_case et l’application utilise camelCase, convertissez les clés une seule fois à la frontière.
Implémentation 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
}Traitez les tableaux avant les objets génériques afin de convertir chaque objet contenu tout en préservant les valeurs scalaires.
La détection de collisions évite que deux clés source normalisées vers le même camelCase écrasent une valeur.
Cas limites en production
- API, URL, UUID et OAuth peuvent nécessiter des règles d’acronymes spécifiques.
- _id, __typename et $schema peuvent porter des préfixes sémantiques à préserver.
- Conversion profonde et conversion du seul niveau supérieur sont deux contrats différents.
- Date, Map, Set et instances de classes non JSON demandent un traitement séparé.
Tester les clés d’objet en ligne
Collez un objet JSON pour tester la conversion récursive, le niveau supérieur, les exclusions, les préfixes _/$ et les collisions.
Déposez un fichier .json ou choisissez-en un sur votre appareil
Les fichiers sont lus uniquement dans votre navigateur. Taille maximale : 5 Mo.
{
"userProfile": {
"firstName": "Ada",
"createdAt": "2026-09-12"
}
}Analyse, lecture de fichier, formatage et conversion s’exécutent localement dans votre navigateur. Le JSON n’est pas envoyé à un serveur de conversion.