コンテンツへスキップ
EVOA Toolbox

CSVからJSONへの変換

CSVやTSVをブラウザー内でJSONに変換します。区切り文字を自動検出し、引用符やBOMにも対応し、先頭の行をプレビューできます。

ブラウザー内でローカルに処理されます。ファイルはアップロードされません。

ツールを読み込み中…

このツールでできること

.csv ファイルをドロップするか、CSVテキストを貼り付けると、すぐにJSON配列が得られます。パーサーは、実際によく見られるCSVの慣習に従っています。引用符で囲まれたフィールド、引用符内のカンマや改行、二重引用符によるエスケープ、WindowsとUnixの改行コード、Excelが付けるUTF-8のバイトオーダーマークなどです。区切り文字(カンマ、セミコロン、タブ、パイプ)は自動的に検出されますが、セミコロンを使うヨーロッパ形式のエクスポートなどでは、自分で指定することもできます。

必要な形を選べます。ヘッダー行をキーにしたオブジェクトの配列(APIやアプリに最適)か、配列の配列(コンパクトなデータやグラフに最適)です。自動の型変換をオンにすると、数値、true/false、空のセルが本物のJSONの値に変換されます。郵便番号のように先頭にゼロがある数値や、JavaScriptで安全に扱える範囲を超える長さのIDは、データが壊れないようテキストのまま保持されます。出力は、スペース2つ、スペース4つ、タブ、または圧縮から選べます。

プレビュー表には先頭の100行が表示されます。フィールド数が少なすぎる・多すぎる行、閉じられていない引用符、列名の重複などの問題は、行番号とともに一覧表示されます。それでもデータは変換されます(短い行は補完され、余分なセルは新しい列になり、重複した名前には _2 が付きます)。1 MBを超えるファイルは、進捗バー付きのバックグラウンドワーカーで解析されるため、大きなエクスポートファイルでもページがフリーズしません。

使い方

  1. 1CSVファイルをドロップするか、ボックスにCSVテキストを貼り付けます。
  2. 2区切り文字は「自動検出」のままにするか、カンマ、セミコロン、タブ、パイプから選びます。1行目がヘッダーかどうかも指定します。
  3. 3JSONの形、自動の型変換、インデントを選びます。小さな入力は入力しながら変換されます。大きなファイルは「変換」を押してください。
  4. 4プレビューと報告された問題を確認してから、JSONをコピーまたはダウンロードします。

対応形式

入力:UTF-8の .csv、.tsv、.txt ファイルと貼り付けたテキスト。出力:JSON(.json)で、オブジェクトの配列または配列の配列。

プライバシー

このツールはブラウザー上で動作します。入力されたデータはお使いのデバイス上で処理され、当社のサーバーには送信されません。

制限事項

  • ファイル全体がメモリに読み込まれるため、非常に大きなCSV(数百MB)は、メモリの少ないデバイスでは遅くなったり、失敗したりすることがあります。サイズの上限はドロップエリアに表示されます。
  • ファイルはUTF-8である必要があります(BOMは問題ありません)。Windows-1252やShift-JISなど、ほかのエンコーディングでは文字化けすることがあるため、先にUTF-8で保存し直してください。
  • 自動の型変換は経験則に基づくものです。1e3 のような値は数値になり、「true」は真偽値になるため、テキストの列としては意図と異なる場合があります。すべての値を文字列のまま保持するには、このオプションをオフにしてください。
  • 日付は変換されず、テキストのままです。
  • プレビューに表示されるのは先頭の100行のみで、非常に大きな結果では、ページ上のJSONテキストは短縮されます(コピーとダウンロードにはすべてが含まれます)。

よくある質問

CSVはサーバーにアップロードされますか?

いいえ。解析と変換はブラウザー内で実行され、大きなファイルではお使いのデバイス上のバックグラウンドワーカーが使われます。

区切り文字の検出はどのように行われますか?

ツールは先頭の数行に対して、カンマ、セミコロン、タブ、パイプを試し、列数が最も一貫するものを選びます。特殊なファイルの場合は、手動で上書きできます。

フィールド数が合わない行はどうなりますか?

行番号とともに報告されます。短い行は空の値で補完され、余分なセルは column_N という名前の新しい列に保持されるため、データが知らないうちに失われることはありません。

郵便番号が文字列のままなのはなぜですか?

自動の型変換では、先頭にゼロがある値は文字列のまま保持され、「02134」が 2134 になることはありません。JavaScriptの安全な範囲を超える大きな整数も、文字列のままです。

ヘッダー行がなくても変換できますか?

はい。ヘッダーのオプションをオフにしてください。列は column_1、column_2 のように名付けられ、すべての行がデータとして扱われます。

関連ツール