devtools-hub

JSON Flattener

ネストしたJSONをフラット化・逆変換 — 区切り文字・配列対応

ネストしたJSONを { "a.b.c": 1 } のようにフラット化し、逆変換(アンフラット)も可能。区切り文字は . / _ / / から選択できます。配列も key.0 / key.1 形式でフラット化。Redisキー設計・.env変換・設定ファイル整形に役立ちます。

広告
区切り文字

Input (JSON)

Output

変換結果がここに表示されます

Features

  • 左右2ペインでリアルタイム変換(300ms デバウンス)
  • Flatten / Unflatten モード切り替え
  • 区切り文字を . / _ / / から選択
  • 配列を key.0 / key.1 形式でフラット化・逆変換
  • コピーと .json ファイルダウンロード


JSONフラット化の使いどころ — Redis・.env・設定ファイルへの応用

ネストしたJSONオブジェクトをキーのパスをドット区切りで連結したフラットな構造に変換することを「フラット化」と呼びます。フラットなJSONはRedisのハッシュフィールド・環境変数・CSVへの変換など、様々なデータパイプラインで扱いやすくなります。

Redisのハッシュフィールドへのマッピング

Redisのハッシュ(HSET)はフラットなキー/バリュー構造しか持てません。ネストしたJSONをフラット化することでHSET user:123 name.first Alice name.last Bob age 30のように構造を保ちながら格納できます。HGETALLで取得後アンフラットすれば元のネストJSONに戻せます。node-redisやioredisで実装する際にJSON Flattenerのロジックをそのまま利用できます。

環境変数としてのネストJSONの扱い

設定オブジェクトを環境変数に変換する場合、フラット化してキーを大文字にする変換が一般的です。例:{ "db": { "host": "localhost" } } → DB__HOST=localhostのようにダブルアンダースコアを区切り文字として使います。.NETのIConfigurationやSpring Bootはこの規則に対応しています。JSON Flattenerでフラットなキーリストを生成してから.env形式に手動変換すると効率的です。

JSONPathでネスト要素に直接アクセスする方法

フラット化せずにネストJSONを操作するには、JSONPath($.a.b.c)やJSON Pointer(/a/b/c)を使う方法があります。lodash.getでは_.get(obj, "a.b.c")でネスト値を安全に取得できます。optional chaining(obj?.a?.b?.c)はTypeScript/JavaScript 2020以降で使えます。フラット化が必要ないケースではこれらの手法の方が適しています。

配列のフラット化と注意点

配列を含むJSONをフラット化すると { "items.0": "a", "items.1": "b" } のようになります。アンフラット時に数値キーのみのオブジェクトを配列として復元するかどうかは実装によります。JSON Flattenerは数値キーを配列として復元します。ただし疎な配列(items.0とitems.5だけ存在など)はitems.3などの中間要素がundefinedになることに注意が必要です。

広告

Related Tools

JSON Studio

JSON フォーマッター & バリデーター

JSON開発者向けフォーマッター

使ってみる →

BOOTH

JSON Path Tester

JSONPath 式をリアルタイムでテスト・結果を即確認

開発者向けユーティリティJSON

使ってみる →

BOOTH

JSON to TypeScript

JSONからTypeScriptのinterface型定義を自動生成

開発者向けTypeScriptJSON

使ってみる →

BOOTH

このツールを共有する