CSV から JSON へ について
表計算ソフトのエクスポートを整った JSON 配列に変換します。パーサーは RFC 4180 に準拠しているため、カンマや引用符、改行を含む引用符付きフィールドもそのまま保持され、数値、真偽値、null は本来の JSON 型として復元されます。すべてブラウザー内で処理されるため、ファイルが端末から出ることはありません。
表計算ソフトのエクスポートを整った JSON 配列に変換します。パーサーは RFC 4180 に準拠しているため、カンマや引用符、改行を含む引用符付きフィールドもそのまま保持され、数値、真偽値、null は本来の JSON 型として復元されます。すべてブラウザー内で処理されるため、ファイルが端末から出ることはありません。
CSV を貼り付けるか、Excel、Google スプレッドシート、Numbers から直接コピーします。
1 行目はヘッダー行のままにしてください。各 JSON オブジェクトのキーになります。
「数値と真偽値を検出する」を有効のままにすると本来の JSON 型になります。すべて文字列で残したい場合は無効にします。
「変換」を押し、JSON をコピーするか .json ファイルとしてダウンロードします。
CSV は表計算ソフトや分析ツールが書き出す形式ですが、API や設定ファイル、JavaScript が求めるのは JSON です。この変換は、データの書き出しと実際にコードで使うこととの間にある小さな手間です。
「Doe, John」のような値はカンマを保ち、2 列に分割されません。
42 は数値、true は真偽値になるため、後からすべてを型変換する必要がありません。
変換はブラウザー内で行われるため、顧客データや書き出しファイルがサーバーに届くことはありません。
CSV を読むのは見た目より難しく、CSV から JSON への変換の困難はすべて CSV の側から来ます。JSON には仕様が一つ、意味が一つあります。CSV には緩い慣習と地域ごとの多様性があり、最初の仕事は目の前のファイルが実際に何なのかを見極めることです。
区切り文字が最初の問いです。コンマはこの書式の名前ですが、欧州の輸出データでは分号が非常によく使われます。小数点にコンマを使う地域設定では、同じ文字で欄を区切ることができないからです。タブ区切りのファイルはデータ処理の現場に広く存在します。推測する変換器はたいてい当たりますが、外れたときに指定し直せることが重要で、外れたことはすぐ分かります。どの行も一つの欄として届くからです。
正しさが宿るのは引用符です。区切り文字を含む欄は引用符で囲まれねばならず、引用符で囲まれた欄は区切り文字、改行、逃がした引用符を含み得ます。だからこそ、住所や自由記述の備考を含むファイルをコンマで割るのは誤りです。素朴な分割は欄の途中で切れ、それ以降の列がすべてずれます。本物の解析器は引用符の状態を追跡しており、それが「手元の見本で動く」と「そのファイルで動く」の違いです。
見出し行があなたの JSON のキーを決めるので、その質が出力の質です。重複した列名、空の見出し欄、前後に空白のある名前は、いずれもあとから譜面上で回避する羽目になるキーを生みます。変換のあとではなく前に見出しを直すほうが得です。
結果を最も変える判断は型です。CSV の中身はすべて文字なので、変換器は「123」を数値の 123 にするか文字列のままにするか、「true」を真偽値にするかを決めねばなりません。型の推測は便利であり、識別子が先頭のゼロを失うのも、郵便番号が整数になるのも、ほとんど数値だがときどき横棒を含む列が型の混ざった状態で届くのも、そのせいです。すべて文字列のままにすれば何も失われず、判断はあなたに戻ります。識別子についてはたいていそれが正しい置き場所です。
最後の落とし穴は文字符号化です。表計算から輸出された CSV は UTF-8 か、バイト順序標識つきの UTF-8 か、古い地域固有の符号化かもしれず、取り違えた症状は、濁点や欧文の記号つき文字が無関係な記号の対になって現れることです。氏名が壊れて見えるなら、問題は変換ではなく符号化でした。
これらはすべてブラウザーの中で起こります。ファイルは手元で読まれ、手元で解析され、JSON も手元で作られます。CSV が顧客名簿や注文の輸出、給与の抜粋であることが非常に多いことを思えば、それは重要です。
The same tool answers on HTTP. Free, 1,000 calls a day, no card, and one token works across every Astral API.
POST https://astraljson.com/api/v1/csv-to-json