オンラインJSONフラットナー
JSONを貼り付けるかファイルを選択し、ネストされたオブジェクトや配列をドット区切りのフラットなキーに変換します。キー=値、CSV、JSON形式で出力・ダウンロード可能. 処理は…
使ってみる
ネストされたJSONを扱いやすく
JSONデータに深いネストがあると、プログラムでの処理や表計算ソフトでの利用が難しくなります。このツールは、オブジェクトのキーを指定した区切り文字で連結し、配列の要素にはインデックスを付与して、すべての値をフラットなキーと値のペアに変換します。
具体的な例
次のようなJSONを入力したとします。
{"user":{"name":"Ada"},"rows":[3,5]}区切り文字をデフォルトのピリオドにすると、出力は次のようになります。
user.name=Ada rows.0=3 rows.1=5
これにより、ネストの深さに関係なく、すべての値に一意なパスでアクセスできます。
出力形式の選択
「キー=値」形式はシンプルなテキスト、「CSV」は表計算ソフトで開きやすい形式、「JSON」はフラットなオブジェクトとして出力します。CSVは常にヘッダーがpath,valueで、カンマ区切り・ダブルクォートでエスケープされます。
制限と注意点
- ネストの深さは200レベルまで、出力されるリーフ(末端の値)は100,000件までです。
- 貼り付けるテキストは16MiBまで、ファイルはブラウザのメモリに保持され、共有の64MiB(単一ファイル)および128MiB(合計)の制限を受けます。
- 空のオブジェクトや配列は行を生成しません。また、
nullなどのプリミティブ値は保持されます。 - 元のキーに区切り文字が含まれていると、実際のネストと衝突する可能性があります。後から処理されたリーフが同じパスを上書きします。
- 処理はすべてブラウザ内で行われ、データが外部に送信されることはありません。
よくある質問
Q1: 区切り文字を変更できますか?
はい、設定欄で任意の文字列(例: アンダースコア)に変更できます。ただし、元のキーにその文字が含まれていると衝突する可能性があります。
Q2: 配列のインデックスはどのように表現されますか?
配列の各要素は、rows.0のように、キーにインデックス番号を付加して表現されます。インデックスは0から始まります。
Q3: 大きなJSONファイルを処理できますか?
ファイルサイズはブラウザのメモリ制限(64MiB/128MiB)に依存します。また、出力が100,000リーフを超えると処理が停止します。それ以上のデータを扱う場合は、分割して処理してください。
処理はブラウザ内でローカルに行われます。