このツールについて
テストデータはスプレッドシートで管理されることが多い一方、テストコードは JSON を必要とします。このツールは RFC 4180 をきちんと実装しています。クォートで囲まれたフィールド、クォート内の二重クォート、クォートされた値の中の区切り文字や改行、CRLF と LF の改行コードに対応します。カンマ、セミコロン、タブ、パイプの区切り文字を自動判定し(ヨーロッパ版 Excel のエクスポートは通常セミコロンです)、ヘッダー行をオブジェクトのキーにし、数値、真偽値、null を推論できます。郵便番号や口座番号のように先頭がゼロの値は、黙って壊れないよう文字列のまま保持します。
使い方
- CSV を貼り付けるか、「Load sample」(サンプルを読み込む)でクォート内のカンマ、エスケープされたクォート、複数行の値を含むファイルを読み込みます。
- 区切り文字は「Auto-detect」(自動判定)のままにするか、明示的に選びます。
- オブジェクトではなく配列にしたい場合は「First row is header」(1 行目はヘッダー)のチェックを外し、すべての値を文字列のままにしたい場合は型推論のチェックを外します。
- ステータスバーで列数の合わない行を確認してから、JSON をコピーまたはダウンロードします。
CSV→JSON 変換ツール のよくある質問
007 や郵便番号が文字列のままなのはなぜですか?
先頭にゼロがある数値は、変換すると値が変わってしまう(02139 が 2139 になる)ため、意図的に文字列のまま保持しています。JavaScript で正確に表現できないほど大きな整数も文字列のままです。
フィールドが多すぎたり少なすぎたりする行はどうなりますか?
足りないフィールドは null になり、余分なフィールドは column_N というキーで追加されます。列数の合わない行はすべて行番号つきで一覧表示されるため、列がずれたままテストに使ってしまう前に元データを修正できます。
Excel のエクスポートに対応していますか?
はい。Excel が付ける UTF-8 の BOM や、小数点にカンマを使うロケールのセミコロン区切りにも対応しています。値の中の小数点カンマ(1,5)は数値に変換されません。