🧰 JSON・データ変換オールインワン
JSONを1回貼るだけで、モードを切り替えて整形・圧縮・CSV・YAML・TOML・XML・TypeScript型定義・差分へ変換できます。都度貼り直しは不要。すべてブラウザ内で完結し、入力はどこにも送信されません。
入力と設定
モードを切り替えるだけで、この入力から各形式へ変換します(貼り直し不要)。
上のJSONをA(旧)、こちらをB(新)として差分を求めます。
整形結果
解説
「JSON・データ変換オールインワン」は、1つのJSONを一度だけ貼り付ければ、あとはモードを切り替えるだけで整形・圧縮・CSV・YAML・TOML・XML・TypeScript型定義・差分の各処理を試せるツールです。専用ツールを行き来して同じデータを貼り直す手間がなくなり、「このJSONをYAMLでも見たい」「ついでにTypeScriptの型も欲しい」といった作業を1画面で完結できます。変換はすべて端末内(ブラウザ内)で実行し、入力内容をサーバーへ送ることはありません。オフラインでも動作します。
各モードの変換ロジックは、シルギアの個別ツール(JSON整形・JSON⇔CSV・YAML⇔JSON・JSON⇔TOML・JSON⇔XML・JSON→TypeScript型・JSONの差分比較)と同じ実装を移植しているため、結果は個別ツールと一致します。整形はインデント(スペース2/4・タブ)を選べ、圧縮は余白を除いた最小化JSONを出力します。CSVはオブジェクトの配列を全キーの和集合をヘッダとして書き出し(RFC4180準拠のクォート処理)、ネストした値はJSON文字列として1セルに収めます。
形式ごとに得意分野が異なります。YAMLは設定ファイルやCI定義など人が読み書きする用途に、TOMLはRustのCargoやアプリ設定などキー=値が中心の構成に、XMLは既存システム連携やSOAP系のやり取りに、CSVは表計算ソフトやBIツールへの取り込みに向きます。TypeScript型定義は、APIレスポンスのJSONから素早く型を起こしてフロントエンド開発を始めたいときに役立ちます。差分モードは、設定変更前後やAPIのバージョン差など「どこが変わったか」を素早く把握するのに向いています。
変換には各形式の性質による差があります。TOMLは最上位がテーブル(オブジェクト)である必要があり、最上位が配列や単一値のJSONは変換できません。XMLはJSONのキーを要素名にし、"@_"で始まるキーは属性、"#text"はテキストノードとして扱います。CSVは表形式(オブジェクトの配列)が前提で、深い入れ子はセル内のJSON文字列になります。より高度な相互変換(CSV→JSON、YAML→JSONなどの逆方向)や個別機能が必要な場合は、関連リンクの各専用ツールをご利用ください。
よくある質問
「1回貼るだけ」とはどういう意味ですか?
上の入力欄にJSONを1度貼り付ければ、モードの切り替えだけで整形・CSV・YAML・TOML・XML・TypeScript型・差分を次々に確認できるという意味です。形式ごとに入力をやり直す必要がありません。設定(インデントや区切り文字など)を変えると即座に再変換します。
各専用ツールと結果は同じですか?
同じです。JSON整形・JSON⇔CSV・YAML⇔JSON・JSON⇔TOML・JSON⇔XML・JSON→TypeScript型・JSONの差分の各ツールと同一の変換ロジックを移植しています。CSVのクォート、TOMLのテーブル配列、XMLの属性/テキスト表記などの細かな仕様も揃えています。
どの形式を選べばよいか分かりません。
人が編集する設定はYAMLやTOML、表計算・BIへ取り込むならCSV、既存システム連携ならXML、フロント開発で型が欲しいならTypeScript型定義が目安です。まず整形で構造を確認し、用途に合わせて切り替えるのがおすすめです。
CSVに変換したら値がJSON文字列になりました。なぜですか?
CSVは平坦な表形式のため、ネストした配列やオブジェクトは1セルに収めるためJSON文字列化します。表として扱いたい場合は、入れ子を持たないオブジェクトの配列(例: [{"名前":"a","点":80}, ...])にしておくと、きれいな行・列になります。
TOMLにできないJSONがあります。
TOMLは最上位がテーブル(オブジェクト)であることが前提です。最上位が配列や単一の値のJSONは変換できず、その旨をエラー表示します。オブジェクトで包んでから変換してください。
TypeScriptの型はどこまで推論しますか?
実際の値からstring/number/boolean、配列(要素型のユニオン)、ネストしたオブジェクト(名前付き型)、null(既定でユニオンに含める)を推論します。同一キーのオブジェクト配列は1つの型にまとめ、欠けるキーはオプション(?)にします。interface / type を選べます。
差分(diff)はどう見ればよいですか?
差分モードでは、上をA(旧)、下の欄をB(新)として比較します。行頭の記号は + 追加 / - 削除 / ~ 変更 で、user.address.city や items[0].name のようにネストしたパスで場所を示します。既定では同一の項目は省略し、必要なら「値が同じ項目も表示」で確認できます。
入力したJSONはサーバーに送られますか?
送られません。すべての変換はブラウザ内で完結し、入力内容はどこにも送信されません。PWA対応のためオフラインでも利用できます。