🗂️ CSVとJSONを相互に変換する
CSVとJSONを、ブラウザの中だけで相互に変換できる無料ツールです。CSVの1行目を項目名にしたJSONを作ったり、JSONの配列をCSVの表に直したりできます。ファイルは外部に送信されません。
1. ファイルを選択
2. 変換先の形式を選択
アップロードしたすべてのファイルを、選択した1つの形式に変換します。
オフにすると、ファイル先頭の目印を付けません。プログラムで読み込むときは、こちらのほうが扱いやすい場合があります。
処理状況
変換が完了しました 🎉
こんな時に便利です
表計算ソフトで作ったデータを、Webアプリやプログラムに読み込ませたい場面があります。JSONにしておけば、項目名を目印にして、1件ずつ扱えます。
APIから取得したデータは、JSONのままだと読みづらいものです。CSVにすれば、表計算ソフトで開いて、並べ替えや絞り込みができます。
サービスの設定や商品一覧を、CSVを受け付ける別のツールに渡したいことがあります。形式を合わせるだけで、手で打ち直さずに済みます。
使い方
- 変換したいファイルを選んでアップロードします(最大20件まで)
- 変換先の形式を選びます(この画面を開いた時は「JSON」が選ばれています。CSVにしたい時は「CSV」を選びます)
- 「この内容で変換する」を押して処理します
- 完了したら、ファイルをダウンロードします
JSONの入れ子と、CSVの平らな表の違い
JSONは、情報を入れ子(階層)にして持てる形式です。「会社の中に部署があり、部署の中に人がいる」という関係を、そのまま表せます。プログラムやアプリの設定ファイル、インターネット越しのデータのやりとりで、よく使われます。
一方、CSVは行と列だけの平らな表なので、入れ子を表せません。入れ子のJSONをCSVにすると、階層をほどく必要が出てきます。このツールでは、入れ子になった値(波括弧{}や角括弧[]の中身)は、変換後のセルが空になります。階層を平らにして、列名をつなぐ処理はしません。
CSVからJSONへは、1行目を項目名(キー)として、2行目以降を1件ずつのデータにした配列で出力します。「007」や「50%」のような数字に見える値も、すべて文字として、入力されたままの形で書き出されます(たとえば"007"のように、引用符で囲まれます)。
注意点・うまくいかない時
- 一度に変換できるのは最大20件、1件あたり20MBまでです。
- JSONは、[{"名前":"…","値":"…"}]のような「オブジェクトの配列」の形でないと、エラーになります。構文が正しくない場合も、別のメッセージでエラーになります。
- 入れ子の値は、空欄になります。必要な場合は、変換の前に階層を平らにしておいてください。
- CSVの列は、全件のキーを最初に出てきた順に並べます。項目が無い件は空欄になり、同じ項目名が重なる場合は「a」「a_1」のように区別されます。
- 空の配列や、数字だけの配列は、エラーにならず、中身のない結果になることがあります。
- Excelの日付は、CSVに変換すると見た目どおりの文字(2024/01/05)で出ますが、JSONに変換すると数字(45296)で出ます。これはExcelとJSONの決まりの違いによるものです。日付を文字のまま使いたい場合は、いったんCSVに変換してから、CSVをJSONに変換するとうまくいきます。
- Excelの「50%」のような表示形式の値も、同じように、CSVに変換すると見た目どおり(50%)で出ますが、JSONに変換すると値の0.5で出ます。
よくある質問
Q. どんなJSONに対応していますか?
A. 最も外側が配列で、その中身がオブジェクトの形です。1件だけのデータでも、配列で囲む必要があります。
Q. 入れ子を含むJSONは、どうすれば変換できますか?
A. 入れ子の部分を、あらかじめ平らな項目に書き直してから変換してください。このツールは、階層をほどく処理をしません。
Q. CSVの1行目が項目名でない場合は、どうなりますか?
A. 1行目は項目名として使われます。項目名の行が無い場合は、先頭に項目名の行を足してから変換してください。
Q. CSVの「007」は、JSONでどうなりますか?
A. 文字として、入力されたままの"007"で書き出されます。先頭の0は消えません。
Q. 出力されるJSONは、見やすい形になっていますか?
A. はい。字下げ付きで、項目ごとに改行された形で出力されます。
関連ツール
ファイルはすべてお使いのブラウザ内で処理され、外部のサーバーに送信されることはありません。安心してご利用ください。