JSON フラット化 / 復元 (ドット記法)
開発
JSON を貼り付けて 2 つのモードを切り替えます。フラット化はネストしたオブジェクト・配列を `app.server.ports[0]` のようなパスキーを持つ 1 つのフラットなオブジェクトに畳みます — 環境変数、MongoDB の更新パス、i18n メッセージファイル、CSV 列、2 つの設定の差分に便利です。復元はその逆で、フラットなドット記法キーを再びネスト構造に展開します。区切り文字(`.`、`/`、`_`、`-`)と、配列を角括弧記法(`items[0]`)にするかドットインデックス(`items.0`)にするかを選べます。空のオブジェクト・配列もリーフとして保持され、フラット化 → 復元の往復で入力と完全に同じものが返ります。すべてローカルで動作し、JSON はブラウザを離れません。
出力 · 9 キー
{
"app.name": "demo",
"app.version": "1.2.0",
"app.features[0]": "search",
"app.features[1]": "export",
"app.server.host": "localhost",
"app.server.ports[0]": 8080,
"app.server.ports[1]": 8081,
"flags.beta": true,
"flags.maxUsers": 100
}オブジェクトキーに区切り文字が含まれない限り、フラット化と復元は正確な逆演算です — キーにドットがある場合は区切り文字を変えてください。
使い方
- フラット化または復元を選択。
- 入力欄に JSON を貼り付け。
- 対象フォーマットに合わせて区切り文字と配列記法を設定し、結果をコピー。
よくある質問
- 変換は可逆ですか?
- 通常のデータなら可逆です。同じ区切り文字と配列記法でフラット化してから復元すると同一のオブジェクトが返ります — 空のオブジェクト・配列や null 値もリーフとして保持され、失われません。唯一の例外は以下です。
- オブジェクトキーに区切り文字が含まれる場合は?
- 往復が曖昧になります。`.` 区切りでフラット化した `a.b` キーはネストの `a` → `b` と区別できず、復元時に分割されます。キーにドットが含まれる場合は、それに含まれない別の区切り文字(例:`/`)を選んでください。
- 配列インデックスはどう扱われますか?
- 角括弧モードでは `list[0]`、`list[1]`;ドットモードでは `list.0`、`list.1` になります。復元時、角括弧インデックスや純粋な数値セグメントは配列要素として再構成され、フラットなキー `users.0.name` はオブジェクトの配列になります。
- データ型は変わりますか?
- いいえ。数値・真偽値・null・文字列は JSON 値のまま保持され、キー構造だけが変わります。出力インデント(0/2/4 スペース)は書式のみに影響し、内容は変えません。
関連ツール
Base64 ↔ 16進数 変換
Base64 文字列を16進数バイトに、16進数を Base64 に戻します。URL セーフ対応、ブラウザ上で動作します。
Quoted-Printable エンコーダー & デコーダー
テキストを MIME Quoted-Printable(RFC 2045)にエンコード、または復号 — =XX エスケープ・ソフト改行・UTF-8 に対応、エンコード時は 76 文字で折り返し — ブラウザ内で。
ハッシュ生成 (SHA)
テキストから SHA-1・SHA-256・SHA-384・SHA-512 ハッシュを生成。
URL エンコーダー / デコーダー
URL 用にテキストをパーセントエンコード、または URL をデコード。
Base64 エンコーダー / デコーダー
テキストを Base64 にエンコード、または Base64 をテキストにデコード。
JSON フォーマッター & バリデーター
ブラウザで JSON を整形・並べ替え・圧縮・検証できます。