
JSON フラットナーは、ネストされた JSON オブジェクトを、各値へのフルパスをキーとする単一レベルのオブジェクトに変換するため、 {"user": {"city": "Austin"}} は {"user.city": "Austin"} と同じようにフラット化し、インデックスをパスセグメントとして使用します: {"roles": ["admin", "editor"]} は {"roles.0": "admin", "roles.1": "editor"} になります。その結果、ネストが残っていないリーフ値へのパスのフラットマップが得られます。
フラット化とは、深くネストされた API 応答を取得し、ファイルをフラットなキーと値のペアのみを理解する形式に構成する方法です。スプレッドシートの列、環境変数、点線の i18n メッセージ キー、機能フラグ ストア、および多くのロギングおよび分析パイプラインはすべて 1 レベルのキーを期待しており、user.address.city などの点線のパスは、元の構造をそれらに伝送する標準的な方法です。逆操作、フラット化解除は、それらの点線のキーからネストされたオブジェクトとその配列を再構築するため、変換は両方向のロスレス往復になります。
このツールは完全にブラウザで実行されます。 JSON を解析し、リーフ値にウォークし、サーバーに何も送信せずにフラットまたはネストされた結果をシリアル化します。アップロード、ログ記録、保存されるものは何もなく、マシン上にトークン、ID、または個人データを含むペイロードが保持され、ページがロードされるとツールはオフラインで動作し続けます。
スプレッドシート、フォームエンコーダー、環境変数が運ぶことができる形状の取引構造をフラット化すると、往復は両方向でロスレスになります。ただし、キーに区切り文字がまだ含まれていないことが 1 つ当てはまります。ドットでフラット化された「user.name」という名前のキーは、ネストされたオブジェクトと区別できず、フラット化を解除すると、区切り文字が 1 つになります。データがリスクがある場合にデータが使用しないものに変更します。配列インデックスは数値パス セグメントになるため、items.0.id は最初の要素に対応し、フラット化解除者は、数値キーが配列を意味するのか、数値キーを持つオブジェクトを意味するのかを決定する必要があります。数値キーを失うと、構成ファイルの意味が変わるため、空のオブジェクトと空の配列はドロップされるのではなく、明示的に保存されます。
Flatten はネストされた JSON を点線のキーに変えます。 unflatten は、点線のキーからネストされたオブジェクトと配列を再構築します。サンプルをロードして両方向を表示します。
ネストしたオブジェクトをフラットに貼り付けるか、点線のキーを持つフラットなオブジェクトをフラットに解除します。入力は有効な JSON である必要があります。解析エラーは正確な位置で報告されます。
区切り文字 (通常はドット) を選択し、配列インデックスのドット (roles.0) またはブラケット (roles[0]) 表記を選択します。往復が一致するように、両方向に対して同じ設定を維持します。
アクションボタンを押してから、出力をクリップボードにコピーするか、.jsonファイルとしてダウンロードします。キーカウントにより、葉が何枚生成されたかが確認されます。
ネストされたオブジェクトをフラット化し、その結果をフラット化解除すると、配列、null、booleans、空のコンテナを含む元のオブジェクトが返されます。 2 つの操作は正確な逆数です。
配列項目はインデックスをパスに保持するため、order はラウンドトリップ後も存続します。 dot 表記 (items.0.id) または bracket 表記 (items[0].id) を選択して、フィードするシステムに一致させます。
デフォルトでドットを使用するか、ターゲット キーにすでにドットが含まれている場合は別の区切り文字に切り替えます。同じ区切り文字でフラット化とフラット化解除の両方が駆動されます。
空のオブジェクトまたは空の配列はサイレントにドロップされるのではなく、リーフ値として保持されるため、空のリストに依存する構成は依然として正しくラウンドトリップします。
Generate a JSON Schema from any JSON sample. Infers types, merges arrays of objects into one item schema, derives required fields, and detects date-time, email, uri, and uuid formats. Draft-07 and 2020-12 output. 100% client-side.
Sort the keys of a JSON object alphabetically, recursively through nested objects, with optional array sorting. Ascending or descending, minify or pretty. Client-side, no signup.
Generate TypeScript interfaces from any JSON sample. Infers nested types, merges arrays of objects into a single interface, marks nullable and missing keys optional, and emits clean exportable code. 100% client-side.
Convert JSON to clean, valid YAML instantly - configurable indentation and safe string quoting
0 comments
No comments yet. Be the first to share your thoughts!