CSV → JSON
CSVまたはTSVデータを整ったJSON配列に変換します。1行目をフィールド名として使用し、引用符付きの値や引用符内のカンマ、BOM付きUTF-8にも対応します。
CSVまたはTSVのデータを、1行目をフィールド名として使って整ったJSONオブジェクトの配列に変換します。引用符付きの値、引用符内のカンマ、エスケープされた引用符、UTF-8のBOM付きファイルも正しく処理します。単純にカンマで分割するスクリプトが失敗するのは、たいていこの部分です。
これは書き出し手順の逆です。手作業で管理している表計算をJSONにして、アプリケーション、静的サイトジェネレーター、テスト用フィクスチャに渡せます。数値らしい値とtrue/falseはJSONの型に変換されるので、後から整える必要はありません。
CSVをJSONに変換する方法
CSVまたはTSVのデータを貼り付けます
カンマ以外の場合は区切り文字を選びます
JSONをコピーまたはダウンロードします
よくある質問
引用符付きのフィールドも処理されますか?
はい。二重引用符で囲まれた値にはカンマ、改行、エスケープされた引用符を含められ、単純な変換ツールがつまずくのはまさにこの部分です。
どの区切り文字を選べばよいですか?
標準のCSVにはカンマを選びます。ヨーロッパの多くの地域でExcelが書き出したファイルはセミコロン、表計算からコピーしたクリップボードのデータはタブです。
数値は数値に変換されますか?
数値らしい値はJSONの数値に、true/falseは真偽値になるため、出力はそのまま使えます。スキーマ上文字列が必要な場合は後から文字列にしてください。
ファイル先頭のUTF-8 BOMはどうなりますか?
自動的に除去されるため、最初の列名の前に見えない文字が付くことはありません。
空のセルはどう表現されますか?
空文字列になります。スキーマがnullを期待する場合は、後から削除または変換してください。
データはアップロードされますか?
いいえ。解析はブラウザ内でローカルに行われます。
概要
| 入力 | CSV |
|---|---|
| 複数ファイル | いいえ |
| 実行場所 | ブラウザ内で実行 - ファイルはアップロードされません |
| オフラインでも動作 | はい — ページを読み込んだ後 |
| 料金 | 無料・登録不要・透かしなし |
データ形式の選び方
JSONは、APIが返すものやプログラムが読み取るものの既定の選択です。入れ子構造、数値、真偽値、nullを自然に扱え、どの言語でもパースできます。CSVはより小さく、表計算ソフトでそのまま開けますが、入れ子を表現する方法がなく、区切り文字、引用符、文字コードに関する共通規格もありません。変換がうまくいかないのはまさにこの点です。XMLは冗長ですが、属性、混在コンテンツ、スキーマを扱えるため、文書形式や既存の連携では今も主流です。YAMLは設定ファイルにとって最も読みやすい形式ですが、空白に敏感で、型の自動変換が意外な結果を生みます(「no」がfalseになったり、1.10のようなバージョンが1.1になったりします)。見た目が最もよいものではなく、利用する側のツールが好む形式を選んでください。
変換が静かに壊れるところ
変換のバグの多くは構文ではなく意味の問題です。郵便番号のCSV列は、表計算ソフトが数値だと推測した瞬間に先頭のゼロを失います。長いIDは浮動小数点の精度を超えてしまいます。日付は、日が先か月が先かによって意味が変わります。JSONのキーには順序がありませんが、配列にはあります。キーを並べ替えるツールは何も変えませんが、配列を並べ替えるツールはデータを変えてしまいます。Unicodeも落とし穴です。テキストはUTF-8やUTF-16、あるいはBOM付きで届くことがあり、推測を誤ったデコーダーはアクセント付きの文字を文字化けに変えてしまいます。変換を信用する前に、最初と最後の行、先頭にゼロがあるフィールド、引用符・カンマ・改行を含むフィールドを抜き取り検査してください。