100% ローカル — データがブラウザの外に出ることはありません

CSVをJSONに変換|数値は数値のまま取り出せる形にして出力

CSVの表を、先頭行をキーとしたJSONオブジェクトの配列に変換します。数値と真偽値は型として判定されるので、コードの中でそのまま足したり比べたりでき、書き直す手間がありません。

高速 プライベート Cookieゼロ
インデント
区切り文字

CSV 入力

JSON 出力

このツールの動作

先頭行がキーになり、以降の各行が配列内の1つのオブジェクトになります。値は機械的に引用符で囲むのではなく型として判定され、30 は数値の 30、true は真偽値として出力されます。

区切り文字は読み取り時に判定するため、セミコロン区切りのヨーロッパ式エクスポートも設定なしでそのまま扱えます。

型判定が触れるもの、触れないもの

ここが、変換ツールがデータを壊しやすい箇所です。押さえるべき規則は次のとおりです。

  • 先頭のゼロがある値は文字列のまま。01 は "01" のままです。
  • 16進数と指数表記も文字列のまま。0x10 と 1e5 はここでは数値になりません。
  • 明示的なプラス記号があるとテキストのまま。+7 は文字列で、-3 は数値になります。
  • true と false は真偽値になりますが、大文字と小文字は区別します。TRUE は文字列のままです。
  • 空のフィールドは空文字列になり、null にはなりません。
  • null というテキストは文字列 "null" のままです。CSV には「値がない」ことを表す手段がないからです。

見落としやすい点をもう1つ。区切り文字の前後の空白はフィールドの一部です。1, 2 の2つ目の値は空白を含む文字列 " 2" であって、数値の 2 ではありません。

行が先頭行と合わないとき

エラーになります。これは意図した動作です。Too many fields も Too few fields も、期待された数と読み取られた数を示すため、該当行を特定できます。黙って埋めたり切り詰めたりすれば、その先の列がすべてずれた、一見正しく見えるファイルができあがります。

完全に空の行は読み飛ばします。すべてのフィールドが空の行は保持します。それは実在する行だからです。

プライバシー

すべての処理はブラウザ内のJavaScriptだけで完結します。データがアップロードされることはないため、機密情報でも安心して利用でき、オフラインでも動作します。

よくある質問

郵便番号の 01234 が文字列のままなのはなぜですか。
先頭のゼロには意味があるからです。数値に変換すれば黙って 1234 になってしまうため、ゼロで始まる値はすべてテキストとして保持します。郵便番号、商品コード、電話番号はそのまま残ります。
列数の合わない行が警告ではなくエラーになるのはなぜですか。
その行が曖昧だからです。フィールドが欠けたのか、区切り文字が1つ多く紛れ込んだのか、ツールには判断できません。メッセージには期待された数と読み取られた数が示されるので、該当行を特定できます。
すべてをテキストのまま保つには。
エディタ上部の **型を判定** を解除してください。すべての値が引用符付きで出力されます。JSON を、自前で解析する別のシステムにそのまま渡す場合はこちらが適しています。

関連ツール