JSONツール

JSONフラット化パスと型を一緒に残す

フラット化または復元を選んで実行します。入力や設定を変更したら、もう一度変換してください。

JSONフラット化

JSON入力

結果

コピーとダウンロードにはプレビュー外も含む結果全体が入ります。

JSONはブラウザのメモリー内で処理し、送信や保存はしません。

バージョン付き専用形式:k:はオブジェクトキー、i:は配列の添字。バックスラッシュで区切り文字とバックスラッシュをエスケープします。空のパスはルートです。

結果の更新が必要です。コピーとダウンロードは無効です。

階層の深い設定やAPIレスポンスを確認するとき、JSONフラット化で各値をパスと並べると位置が分かりやすくなります。何層ものオブジェクトをたどらずに、個々の設定を比較できます。

出力はバージョン、区切り文字、配列の扱いを含む専用のJSON形式です。ネスト解除した結果を戻すJSON復元ではこの形式を読み込み、数字だけのキーを配列と推測することなく元の構造を組み立てます。

JSONフラット化を使う理由

数字のキーと配列の添字を区別

JSONフラット化はオブジェクトのキーにk:、配列の添字にi:を付けます。"0"というキーを配列の先頭要素と混同しません。キー内の区切り文字もエスケープするため、実際の階層と区別できます。

入れ子の木構造が4行のパスになり、同じ色の値と空のコンテナが保たれる。

配列を展開する範囲を選ぶ

JSONフラット化で配列内の値を一つずつ調べるなら添字展開、一覧全体を一つの値として扱うなら配列保持を選びます。空のオブジェクトと配列も残るので、復元時に空の設定が消えません。

配列を添字ごとに展開する場合と、そのまま保持する場合の比較。

往復して構造を確認する

01

置換前に内容を確かめる

ファイル読み込み、サンプル、クリアは先に置換プレビューを表示します。適用後も取り消しで直前の入力、結果、設定を復元できます。

02

配列の扱いを先に決める

添字展開は配列の各要素を分け、配列保持は配列全体を残します。区切り文字はコロンとバックスラッシュ以外のASCII記号1文字です。設定変更だけでは実行されず、前の結果は更新待ちになります。

03

完全な出力を使って復元する

結果を入力に使う操作は置換内容を確認して適用すると変換方向も逆になります。復元にはメタデータと全エントリーが必要です。表示は5,000文字ずつ増やせますが、コピーとダウンロードには結果全体が含まれます。

構造の意味を持つパス

キーと添字の型を明示

オブジェクトのパス要素はk:、配列はi:で始まります。空のパスはルートなので、単独のスカラー、null、空のコンテナーも扱えます。

区切り文字を可逆に処理

キー内の区切り文字とバックスラッシュをバックスラッシュでエスケープします。復元時には、この形式に定められた正規の表記だけを受け付けます。

数値の表記を保持

大きな整数、-0、小数、1e999などの指数表記をJSONの数値テキストとして残します。計算は行わず、JavaScriptの数値に変換して丸めることもありません。

矛盾したパスを検出

重複キー、パスの衝突、添字の欠けた配列、コンテナー型の混在を拒否します。変換失敗時に途中までの結果を完成品として出力しません。

形式と処理の上限

復元は専用形式のみ
heyutils-json-flat-v1の出力を読み込みます。separator、arrays、entriesを残してください。一般的なドット区切りオブジェクトやJSONPath、他のツールの展開形式には直接対応しません。
厳密なJSONを入力
コメント、末尾カンマ、重複キーを拒否します。通常の浮動小数点の範囲を超える数値も表記を保持しますが、数値トークンは各1,000文字までです。
文字数と構造を制限
入力と出力はそれぞれ500,000文字、ファイルは500,000バイトまでです。深さは100、ノード数は50,000まで。超過時は出力を切り捨てず、エラーにします。
連続した配列添字が必要
展開する添字は10,000未満で、欠番がないことが必要です。配列保持はノード上限内でさらに長い配列も扱えますが、復元時にi:パスを拒否します。親子パスの衝突、型の混在、非正規のパスも拒否します。
ブラウザ内で処理
データはブラウザのメモリーで処理します。URL取得、変換履歴の保存、CSV出力は行いません。ページを再読み込みすると現在の内容は失われます。

JSONフラット化のよくある質問

配列はどのように展開されますか?

添字展開では各要素にi:のパス要素を付けます。配列保持では配列全体を一つの値にします。JSONフラット化は空の配列も残し、復元時に元の空配列へ戻せます。

キー名にドットやカッコが含まれていても使えますか?

使えます。選んだ区切り文字とバックスラッシュはキー内でエスケープします。角括弧を添字記法として推測せず、k:とi:で型を識別します。

区切り文字はどれを選べばよいですか?

通常は既定のドットで始められます。必要に応じてASCII記号1文字に変更できますが、コロンとバックスラッシュは選べません。復元は出力に保存された区切り文字を読み取ります。

結果をCSVやExcelに取り込めますか?

このページの出力は専用形式のJSONです。CSVや表形式ではないので、Excelで使うには別途、パスと値を列へ変換する処理が必要です。

巨大なファイルも変換できますか?

入力と出力は各500,000文字、読み込むファイルは500,000バイトまでです。深さとノード数にも上限があり、超える場合は対象範囲を小さくしてから処理してください。

往復できないパスがありましたか?

まずは一度復元する

サンプルでJSONフラット化を試し、型付きパスを確認してから元の構造へ復元してください。往復を確かめてから実際の設定を変換できます。