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.

Par Équipe éditoriale Camel Case ConverterPublié le 12 sept. 2026Dernière relecture

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.

JSON converti
{
  "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.