JavaScript オブジェクトキーガイド
JavaScript の Object Keys を camelCase に変換
API が snake_case JSON を返し JavaScript 側が camelCase を使うなら、各 property を手作業で直すのではなく境界で一度変換します。
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 入力は変換サーバーへ送信されません。