JavaScript オブジェクトキーガイド

JavaScript の Object Keys を camelCase に変換

API が snake_case JSON を返し JavaScript 側が camelCase を使うなら、各 property を手作業で直すのではなく境界で一度変換します。

Camel Case Converter 編集チーム 著公開日 2026/09/12最終レビュー

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
}

配列を通常 object より先に処理し、配列内 object は変換しつつ scalar value はそのまま返します。

異なる元キーが同じ camelCase になる可能性があるため collision check が重要です。

本番環境のエッジケース

  • API、URL、UUID、OAuth などの略語にはプロジェクト固有規則が必要な場合があります。
  • _id、__typename、$schema などの接頭辞は意味を持つため保持したい場合があります。
  • deep conversion と top-level-only conversion は異なる API contract です。
  • Date、Map、Set、class instance など非 JSON 値は別処理が必要です。

オブジェクトキーをオンラインでテスト

JSON を貼り付けて、再帰変換、トップレベルのみ、除外キー、_/$ 接頭辞、衝突処理を確認できます。

.json ファイルをドロップ、または端末から選択

ファイルはブラウザ内でのみ読み取ります。最大 5 MB。

変換後 JSON
{
  "userProfile": {
    "firstName": "Ada",
    "createdAt": "2026-09-12"
  }
}

解析、ファイル読み込み、整形、キー変換はすべてブラウザ内で実行されます。JSON 入力は変換サーバーへ送信されません。