JSON フラット化 / 復元
ネストされたJSONオブジェクトをドット・スラッシュ・アンダースコア区切りで単一レベルのキーにフラット化します。配列はインデックス(例:list.0)で表現されます。逆にフラットなキー・値マップをネスト構造に戻すこともできます。
入れ子のJSONオブジェクトをパス形式のキーへ平坦化したり、平坦なオブジェクトから入れ子のオブジェクトや配列を再構築したりできます。区切り文字はドット、スラッシュ、アンダースコアから選べます。
JSONをFlatten / Unflattenする方法
- 有効なJSONオブジェクトを入力します。
- ドット、スラッシュ、アンダースコアから区切り文字を選びます。
- FlattenまたはUnflattenを実行します。
- 必要ならPretty出力を選びます。
- 結果JSONをコピーします。
オブジェクトと配列の扱い
Flattenは通常のオブジェクトを再帰的に展開します。配列はitems.0のような数値パスになり、配列内のオブジェクトも再帰的に展開されます。
Unflattenは選択した区切り文字でキーを分割します。次の要素が数字だけなら配列、それ以外ならオブジェクトを作ります。元のキー自体に同じ区切り文字が含まれる場合は曖昧になります。
プライバシーと制限
処理はブラウザ内でローカル実行され、JSONを意図的にアップロードしません。トップレベルはnull・配列・プリミティブではなくJSONオブジェクトである必要があります。キー中の区切り文字をエスケープしないため、データと衝突しない区切り文字を選んでください。
よくある質問
配列もFlattenできますか?
はい。配列インデックスが数値パスになります。
使える区切り文字は?
ドット、スラッシュ、アンダースコアです。
Unflattenで配列も戻せますか?
はい。次のパス要素が数値なら配列を作ります。
トップレベル配列はFlattenできますか?
いいえ。現在はトップレベルのオブジェクトが必要です。
キー自体に区切り文字がある場合は?
パスとの区別ができず、復元が曖昧になる場合があります。