仕様と根拠
列の作り方
配列の要素のオブジェクトを順に読み、入れ子のオブジェクトの項目はドット区切りのパス(address.city など)を列名にします。列は最初に出てきた順に並べ、ある行にない項目は空欄です。null も空欄になり、CSV では「値が空」「項目がない」「null」を区別できません。この列名の付け方は仕様ではなくこのツールの取り決めです。
引用符のつけ方
RFC 4180 2 節の 6 は、改行・二重引用符・カンマを含む値は二重引用符で囲むとしています。7 は、囲んだ値の中の二重引用符は 2 つ重ねて書くとしています。保存される CSV はこの規則で引用符を付け、行の区切りは CRLF です。表の表示は読みやすさのため引用符を付けず、囲まれるセルの個数だけを数えます。
配列・構文エラーのとき
配列の値は、1 つのセルに空白を詰めた JSON として入れるか、添字をつけた列に分けるかを選べます。空の配列は 1 つのセルに [] と入れます。オブジェクトでない要素は「(要素そのもの)」の列に入れて警告します。JSON の構文が壊れているときは、最初のエラーの位置を何行目の何列目かで示し、展開はしません。
根拠にした仕様・資料
| 仕様・資料 | 確認日 | 使った箇所 |
|---|---|---|
| RFC 4180 Common Format and MIME Type for Comma-Separated Values (CSV) Files | 2026年10月28日 | 2 節の 1(行は CRLF で区切る)・6(カンマ・二重引用符・改行を含む値は二重引用符で囲む)・7(囲んだ値の中の二重引用符は 2 つ重ねる) |
| RFC 8259 The JavaScript Object Notation (JSON) Data Interchange Format | 2026年10月28日 | JSON の文法(2〜7 節)・8.1 節(BOM) |
指摘の段階
- エラー: 仕様に反していて、正しく読めない・処理できない入力です。
- 警告: 読めるものの、仕様の推奨に反する・矛盾する・意図と違う結果になりやすい入力です。
- 情報: 誤りではありませんが、知っておくとよい扱い(読み飛ばした部分や解釈)です。
入力の扱い(送信しない仕組み)
処理はすべてお使いのブラウザの中で行います。処理の本体はこのサイトから配信する小さなスクリプト(/app.js)で、外部のサービスやライブラリを読み込みません。ページはブラウザに通信を禁止させる設定(Content-Security-Policy の connect-src)つきで配信しており、入力した内容がサーバーや第三者へ送られることはありません。ファイルを選んだ場合も、端末の中で読み込むだけです。
このツールでできないこと(制約)
- CSV から JSON への逆変換、文字コードの変換(Excel で開く用の BOM つき UTF-8 など)、項目名の並び替えや列の選択はできません。
- 項目名にドットを含むと、入れ子のパスと区別できません。同じ列名になった場合は警告し、後の値で上書きします。
- 数値は書かれたままの文字で出力します(1.50 は 1.50)。日付や数値の書式の変換はしません。
- ファイルは UTF-8 として読みます。Shift_JIS などほかの文字コードのファイルは文字化けすることがあります。
ご利用にあたって
- 展開の結果は、JSON の構造をそのまま表にしたものです。取り込み先のソフトの仕様(列の数の上限、セルの文字数の上限など)は確認していません。
- 大きな JSON はお使いの端末の性能によって処理に時間がかかることがあります。