JSON のキーの一括改名
JSON のキーの名前を、全階層でまとめて付け替える。重なったら教える。
JSON を貼り付けて「旧=新」の規則を書くか、キャメル・スネーク・ケバブへのケース変換を選ぶと、全階層のプロパティ名を一括で改名します。改名で同じ名前が重なる箇所は警告します。データは端末の外へ送信しません。
JSON のキーの名前を一括で改名する
入力した内容は送信されません。貼り付けた文字や選んだファイルは、お使いのブラウザの中だけで処理します。本サイトのサーバーや第三者へ送信・保存しません(通信を禁止する設定でページを配信しています)。
結果
エラー 0 件・警告 0 件・情報 1 件
指摘(エラー・警告・情報)
- 情報 出力 値の文字列は変更していません。整数だけの名前(例: "1")は、読み込みの都合で他の名前より先に並び替わることがあります。
| キーの総数 | 4 個 |
|---|---|
| 改名したキー | 3 個 |
| 名前が重なった箇所 | 0 件 |
改名した JSON
{
"userId": 1,
"userName": "A",
"tags": [
{
"userName": "x"
}
]
}
初期表示は入力例「規則でキーを名前替えする」の結果です。入力を変えるとその場で処理し直します。判定の根拠は仕様と根拠にまとめています。
ご利用にあたって
- 改名した JSON を受け取る側のプログラムが、新しいキーの名前に対応しているか確認してから使ってください。
使い方
- 改名したい JSON を「JSON」に貼り付けます。
- 特定の名前を変えるなら規則を「旧い名前=新しい名前」で 1 行に 1 つ書きます。全体の書き方をそろえるなら、ケース変換を選びます。
- 改名後の JSON をコピーします。名前が重なる警告が出たら、規則を見直してください。
- 規則に当たらなかった旨の情報が出たら、綴りと大文字・小文字を確認します。
入力例と結果
代表的な入力・境界の入力・壊れた入力の例です。例ごとに入力・出力・指摘と、その結果になる理由(検算)を載せています。
| 入力例 | 結果 |
|---|---|
| 規則でキーを名前替えする | エラー 0 件・警告 0 件・情報 1 件 |
| ばらばらな書き方をキャメルケースにそろえる | エラー 0 件・警告 0 件・情報 1 件 |
| 改名で同じ名前が重なる | エラー 0 件・警告 1 件・情報 1 件 |
| 末尾にカンマがある JSON | エラー 1 件・警告 0 件・情報 0 件 |
このツールでできないこと(制約)
- 入力の JSON に最初から同じキーが重なっている場合、標準の読み込みでは最後の値だけが残ります。重複の確認には重複キーの検査を別に使ってください。
- 整数だけの名前("1" など)は、読み込みの都合で他の名前より先に並び替わることがあります。キーの順序が意味を持つデータでは出力を確認してください。
- 値の文字列や数値は変えません。キーの名前だけが対象で、値の中の文字列は改名されません。
- 規則は完全一致だけです。部分一致や正規表現による置換には対応していません。
よくある質問
改名後に同じ名前が重なるとどうなりますか?
重なった場所を警告し、出力には元の値をすべて残します。RFC 8259 では名前は一意であるべきで、重なると読み取り側の挙動が予測できないため、規則を見直して重なりをなくしてください。
ネストした中のキーも改名されますか?
はい。全階層のオブジェクトのキーが対象で、配列の中のオブジェクトも含みます。最上位のキーだけを変えたい場合は、このツールでは区別できないため、手作業で直してください。
貼り付けた JSON は送信されますか?
改名はお使いのブラウザの中だけで行い、JSON をサーバーや第三者へ送信・保存しません。ページは通信を禁止する設定で配信しています。本番のデータの構造確認にも安心して使えます。