JSON フラット化ツール
ブラウザー内でローカル実行ネストした JSON をパスキーにフラット化し、元の構造に戻す
ネストした JSON
JSON Flattener でできること
JSON Flattener は、ネストしたオブジェクトや配列を user.address.city や users[0].name のような 1 階層のパスキーに変換し、そのキーからネストした JSON を復元します。フラットなキーは、設定システム、翻訳ファイル、スプレッドシートの列、検索インデックス、深くネストしたデータでは読みにくい差分の確認に便利です。文字列、数値、真偽値、null、空のオブジェクト、空の配列は型を保ち、9007199254740993 のように JavaScript の精度を超える数値も元の桁のまま書き出します。
使い方
- 1.フラット化または復元を選び、JSON を貼り付けるか、.json ファイルを 1 つアップロードまたはドロップするか、例を読み込みます。
- 2.区切り文字 (. / _ __) と、配列インデックスを角かっこ (items[0]) にするか区切り文字 (items.0) にするかを選びます。
- 3.フラット化モードでは、出力形式として JSON オブジェクト、キー=値の行、環境変数のいずれかを選びます。
- 4.往復チェックの結果と問題の一覧を確認します。各問題には関係するパスが正確に表示されます。
- 5.結果をコピーするか、flattened.json、unflattened.json、flattened.txt、flattened.env をダウンロードします。逆方向を確かめるには「この出力を復元」を使います。
衝突、競合、往復チェック
フラット化を元に戻せるのは、すべてのキーが元のパスに解析し直せる場合だけです。区切り文字をすでに含むキー (ドット区切りでの "a.b" など) や、同じフラットキーになる 2 つのパスは、両方のパスとともに報告されます。最初の値を残し、警告なしに消えるデータはありません。復元時にも、1 つのパスが値とオブジェクトを兼ねる必要がある場合 (user と user.name)、配列の末尾から離れすぎたインデックス、配列の欠番を報告し、欠番は null で埋めます。JSON を出力するたびに逆変換を実行して結果を比較するので、「往復を確認しました」は約束ではなく実際のチェック結果です。
環境変数、制限、プライバシー
環境変数名は大文字になり、camelCase の単語は _ で区切られ、アクセント記号は除去され、A–Z と 0–9 以外の文字は _ になります。たとえば database.primary.port は DATABASE_PRIMARY_PORT になります。数字で始まる名前には _ を付け、衝突する名前は報告します。キー=値と環境変数の出力は一方向の形式です。整数に見えるオブジェクトキーは JavaScript の並び順に従って先頭に来ます。256 階層を超えるネストは 1 つの値として残し、2 MB を超える入力はメインの操作を選んだときに処理します。すべての処理はブラウザー内で行われ、JSON がアップロードされることはありません。
