# CSV と JSON の変換

CSV を JSON の配列に、JSON を CSV に変換します。区切り文字を自動判別し、セミコロンと小数点カンマの Excel ファイルも読めます。

https://codeknife.dev/ja/csv-json/

## できること

CSV を JSON の配列に、JSON を CSV に変換します。CSV は RFC 4180 に従って読み取り、引用符で囲んだ項目、重ねた引用符、項目内の改行に対応します。

## 使い方

1. CSV または JSON を貼り付けるか、ファイルをドロップします。
2. **CSV → JSON** か **JSON → CSV** を選びます。区切り文字と小数点は **自動判別** のままでも、自分で指定しても構いません。
3. 結果をコピーまたはダウンロードするか、**出力を入力として使う** で次の入力にします。

## 例

CSV `name;price` / `cheese;12,50` は `[{"name": "cheese", "price": 12.5}]` になり、**見出し行** をオフにすると `[["name", "price"], ["cheese", 12.5]]` になります。

## 知っておくと便利なこと

- 見出し行がオンのとき、各行は列名をキーにしたオブジェクトになります。項目数が異なる行は行番号つきで知らせます。
- 区切り文字は最初の数行から判別します（カンマ・セミコロン・タブ・パイプ）。セミコロンと小数点カンマの Excel は、**自動判別** で 12.5 として読まれます。
- 読み戻して同じになる値だけが数値になるため、`007`、`1.50`、桁の多い数は文字列のままです。数値の読み取りをオフにすると、すべて文字列のままになります。
- JSON → CSV にはオブジェクトの配列（列はキーの和集合）または配列の配列が必要です。入れ子の値は JSON 文字列として書き出します。

## CSV はどう読み取られますか？

RFC 4180 に従います。項目は区切り文字で分け、二重引用符で囲んだ項目には区切り文字や改行を含められ、中の引用符は 2 つ重ねます。区切り文字は最初の数行から判別します。

## よくある質問

### 数値が文字列になる、またはその逆になるのはなぜ？

読み戻して同じになる値だけが数値になります。007、1.50、桁の多い数は文字列のままです。「数値と true/false を読む」をオフにすると、すべて文字列のままになります。

### セミコロン区切りの Excel とは？

地域設定によっては、Excel は項目をセミコロンで区切り、小数点にカンマを使います。区切り文字や小数点が「自動判別」なら 12,50 は 12.5 として読まれ、小数点カンマを選ぶと JSON → CSV はセミコロン区切りで書き出します。

### データはどこかに送信されますか？

いいえ。変換はブラウザ内で行われ、貼り付けた内容がサーバーに送信されることはありません。