JSON・CSV相互変換
JSONとCSVを相互に変換します。ネストしたObjectはドット区切りの列に展開し、CSVの値は自動変換せず常に文字列として扱います(00123のような値が意図せず数値化されることはありません)。
入力例
結果
JSONを入力して「変換」を押してください。
JSON→CSVとCSV→JSONはそれぞれ独立した一方向の変換です。往復変換しても元データと完全に一致するとは限りません。
CSVをExcel等の表計算ソフトで開く場合、=・+・-・@ から始まる値は数式として解釈される場合があります。本ツールは入力値をそのまま変換するため、自動的な無害化や値の書き換えは行いません。信頼できないデータを開く際はご注意ください。
このツールでできること
JSON・CSV相互変換の主な機能です。
- JSONとCSVを相互に変換できます(変換方向は明示的に選択します)
- ネストしたObjectはドット区切りの列に展開し、配列の値はJSON文字列として1セルに格納します
- CSVの値は自動変換せず常に文字列として扱うため、先頭ゼロを含む値等の意味が変わりません
- 変換結果は一括コピー、またはファイル(CSV/JSON)としてダウンロードできます
手順を見る
- 変換方向(JSON → CSV / CSV → JSON)を選びます
- テキストエリアへJSONまたはCSVを貼り付けます
- 「変換」ボタンを押します(処理はブラウザ内で完結し、入力はサーバーへ送信されません)
- 結果を確認し、必要に応じてコピーまたはダウンロードします
こんなときに使えます
こんな場面でJSON・CSV相互変換が役立ちます。
利用シーンを見る
- APIレスポンスのJSONを、Excel等で開ける表形式に変換して非エンジニアと共有したいとき
- 取引先や他部署から受け取ったCSVを、テストコードやAPIのモックデータとして使えるJSONへ変換したいとき
- 先頭ゼロを含むコード・郵便番号等が変換で意図せず変わっていないか確認したいとき
JSON・CSV相互変換の仕組み
このツールの動作の仕組みを説明します。
詳しい解説を見る
ネストしたObjectはドット区切りの列に展開されます
{"user":{"name":"太郎"}} のようなネストしたObjectは、階層のキーをドット(.)でつなげた列(user.name)として展開します。
配列の値はJSON文字列としてそのままセルに格納されます
Objectの値が配列({"tags":["a","b"]} 等)の場合は、ネストしたObjectのようには展開されません。配列全体をJSON文字列化した1つの値として、そのままセルへ格納します。「ネストしたObjectの展開」と「配列のJSON文字列化」は明確に異なる規則です。
CSVの値は常に文字列として扱われます(自動型変換なし)
CSVをJSONへ変換する際、00123 のような値を数値の 123 へ自動変換することはありません。すべてのセル値は常に文字列としてJSON化されます。会員コードや郵便番号のように先頭に0を含む値の意味が、変換によって変わってしまうことを防ぐためです。数値や真偽値として使いたい場合は、変換後のJSON文字列を利用側のプログラムで変換してください。
完全な相互変換(round-trip)は保証しません
JSON→CSVとCSV→JSONは、それぞれ独立した一方向の変換です。ネストの展開・配列のJSON文字列化・値が常に文字列になることなどにより、変換したCSVを再度JSONへ戻しても、元のJSONと完全に一致するとは限りません。
入力はブラウザ内で処理されます
JSON・CSVの解析・変換はすべてブラウザ内で行われます。入力した内容がサーバーへ送信・保存されることはありません。
よくある質問
「00123」のような値が「123」に変換されてしまいませんか?
いいえ。CSVの値は常に文字列としてJSON化されるため、「00123」は「"00123"」のまま変換されます。数値や真偽値への自動変換は行いません。
ネストしたJSONはどう変換されますか?
ネストしたObjectは、キーをドット(.)でつなげた列名にflatten(展開)されます。例えば {"user":{"name":"太郎"}} は列 user.name になります。
配列を値に持つJSONはどう変換されますか?
配列はネストしたObjectのようには展開せず、配列全体をJSON文字列化した1つの値としてセルへ格納します。
CSVをJSONに変換してから再度CSVに戻すと、元のCSVと完全に一致しますか?
完全な一致は保証しません。JSON→CSVとCSV→JSONでは、ネストの展開や値の文字列化など変換規則が異なるため、往復変換しても元データと同一にならない場合があります。JSON→CSVとCSV→JSONは、それぞれ独立した一方向の変換として設計しています。
TSV(タブ区切り)など、カンマ以外の区切り文字には対応していますか?
現在はカンマ区切りのCSVのみに対応しています。
入力したJSON・CSVはサーバーに送信されますか?
いいえ。解析・変換はすべてブラウザ内で行われ、サーバーへの送信や保存は行いません。