アップロード不要・ブラウザ内で処理

CSVをJSONに変換

Excelや業務システムから出力したCSVを、ブラウザ内でJSONに変換します。UTF-8・Shift_JIS(CP932)・EUC-JPの読み込みに対応。日本語と商品コードを確認してから、JSONやJSON Linesを保存できます。

ブラウザ内で処理会員登録不要文字コード・区切り文字を確認途中までのデータは保存しません

方向を切り替えると、現在の入力・設定・変換結果は消去され、実行中の処理も中止されます。必要な結果は先に保存してください。

CSVを読み込み、JSONまたはJSON Linesに保存します。型の推定と空欄の扱いを選べます。

日本語が文字化けする場合は、貼り付けではなく元のCSVファイルを選んでください。「CSVの判定設定」でShift_JIS(CP932)やEUC-JPを指定して読み直せます。自動判定で読み込んだ後は、商品名や氏名が正しく表示されているか確認してください。

JSONの出力設定
空欄をnullにする設定は「数値・真偽値・nullを推定」がオンの場合に適用されます。
ファイルをドロップするか、データを貼り付けてください。公開URLやサンプルからも読み込めます。
行数0
列数0
文字コード自動
区切り文字自動
問題項目0

ファイルを開いて始める

データは画面表示とは別に読み込みます。会員登録なしで、検索、並べ替え、チェック、修正、保存ができます。

Shift_JISのCSVを、文字化けさせずにJSONへ変換する

受注明細や商品マスターをJSONで取り込みたいのに、日本語の商品名が読めない。そんなときは、JSONの設定より先にCSVの文字コードを確認します。Excelで保存したCSVでも、保存形式や利用環境によって文字コードは異なります。拡張子が.csvであることだけでは、UTF-8かShift_JISかを判断できません。

元のCSVファイルから読み込む手順

  1. 「ファイルを選択」から元のCSVを開きます。文字化けした画面からコピーした文章ではなく、ファイルそのものを使ってください。
  2. 表の商品名や氏名を確認します。読めない場合は「CSVの判定設定」の文字コードをShift_JIS(CP932)またはEUC-JPに変更し、「設定を反映して読み直す」を押します。出力元に文字コードの指定がある場合は、その指定を優先してください。
  3. 列が正しく分かれているか確認します。下のサンプルでは区切り文字をカンマ、先頭行を見出しとして読み込みます。「ノート, A5」は引用符で囲まれているため、1つのセルに収まります。
  4. 「JSONの出力設定」でオブジェクト配列を選びます。すべての値を元の表記のまま残す場合は「数値・真偽値・nullを推定」をオフにします。
  5. JSONを保存します。出力はUTF-8です。Shift_JISのCSVをいったんUTF-8のCSVに保存し直す必要はありません。

同じ受注明細を3種類の文字コードで試す

以下は架空の商品データです。内容は同じで、ファイルの文字コードだけが異なります。それぞれを読み込み、商品コードの00123と日本語の商品名が同じ結果になるか確認できます。

型の推定をオフにした場合、数量も文字列として出力されます。

[
  {
    "商品コード": "00123",
    "商品名": "ノート, A5",
    "数量": "2"
  },
  {
    "商品コード": "00456",
    "商品名": "ボールペン",
    "数量": "10"
  }
]

自動判定で直せる文字化けと、直せない文字化け

自動判定は候補の推定です。短いデータや英数字だけのファイルでは、文字コードを特定できないことがあります。判定名だけを信じず、日本語や記号を原本と照合してください。このツールのShift_JISはCP932の拡張文字も扱う読み込み設定です。

元のファイルに正しいバイト列が残っていれば、文字コードを指定して読み直せます。一方、文字が「�」や「?」に置き換わった状態で保存されている場合、文字コードを変えても元の文字は復元できません。出力元からファイルを取得し直してください。貼り付けたテキストには元の文字コード情報がないため、読み込み設定だけでは直せません。

商品コードの0落ちと文字化けは、別々に確認する

00123が123になる現象は、文字コードではなく数値としての読み込みが原因です。CSV内に00123が残っていれば、このツールは先頭の0を保持します。型の推定をオフにすると、数量や金額も文字列のまま残せます。Excelなどですでに0が消えている場合、JSON変換だけでは元の桁数は分かりません。

CSVそのものの文字コードを変えたい場合は文字コードを確認して保存する手順、表計算用の.xlsxが必要ならCSVからExcelへの変換を使ってください。JSONからCSVへ戻す場合は、上の「JSON → CSV」で方向を切り替えられます。切り替える前に結果を保存してください。

CSVをJSONに変換するときの型と出力形式

CSVには型の情報がないため、読み込んだ値はまず文字列として扱います。番号を文字列のまま使うか、金額を数値にするか、空欄をどう扱うかを設定してください。オブジェクトのキーにはヘッダー行の列名を使います。先頭行が列名なら「ヘッダー行として使用」を選び、読み込まれた列名を確認します。

文字列を数値・真偽値・nullに変える条件

「数値・真偽値・nullを推定」をオンにすると、セルごとに型を判定します。列全体を同じ型にそろえる機能ではないため、同じ列に数値と文字列が混ざることがあります。判定時には前後の空白を無視します。どの条件にも当てはまらない文字列は、前後の空白もそのまま残します。

CSVの値型の推定をオンにしたときのJSON
trueTRUEFalse真偽値のtrueまたはfalse
nullNULL「空セルをnullとして出力」がオフでもnull
12.50-31e3数値の12.5-31000
00120+12.5文字列のまま。このツールでは数値に変換しない表記です
90071992547409931e309文字列のまま。整数を正確に扱える範囲を超える値や、無限大になる値は数値に変換しません

小数はJavaScriptの数値に変換するため、十進数を厳密に扱う計算には向きません。金額の精度や12.50のような表記を変えたくない場合は、型の推定をオフにしてください。truenullも文字列のまま出力します。CSVの値を引用符で囲んでも、型の推定は行われます。引用符はカンマや改行を値に含めるためのCSVの書き方で、JSONの型を指定するものではありません。

空欄を空文字列にするか、nullにするか

「数値・真偽値・nullを推定」がオフなら、空欄は空文字列""になり、スペースなどの空白文字はそのまま残ります。この場合、「空セルをnullとして出力」の設定は使われません。

型の推定をオンにすると、空欄と空白文字だけの値を同じように扱います。「空セルをnullとして出力」がオフなら""、オンならnullになります。空の項目をキーごと削除する設定はありません。

列数が足りない行は、空欄ではなくCSVの書き方に問題がある場合もあります。オブジェクト配列とJSON Linesでは、足りない末尾の列を空欄で補い、上の設定に従って出力します。二次元配列では補わず、元の行の要素数で出力します。すべての値が空のレコードは、CSVの読み込み時に除きます。出力を使う前にCSVチェックツールで列のずれを確認してください。

同じCSVが、設定によってどう変わるか

id,active,amount,note
000184,true,12.50,
000219,false,0,null

「数値・真偽値・nullを推定」をオン、「空セルをnullとして出力」をオフにすると、nullと真偽値のサンプルは次のオブジェクト配列になります。自動テストでも、ツールと同じ変換処理で出力したファイルを読み直し、値を確認しています。

[
  { "id": "000184", "active": true, "amount": 12.5, "note": "" },
  { "id": "000219", "active": false, "amount": 0, "note": null }
]

000184は文字列のまま、12.50は数値の12.5になります。空欄は""ですが、nullと書かれた値はJSONのnullになります。長い番号の例は先頭ゼロのサンプルでも確認できます。

オブジェクト配列・二次元配列・JSON Linesの選び方

項目名で値を取り出すAPIなどには「オブジェクト配列」、左から何番目かで値を取り出す処理には「二次元配列」を選びます。二次元配列は、最初の配列に見出し、その後の配列に各レコードの値が入ります。同じ列名があっても、値は別々の要素として残ります。オブジェクト配列とJSON Linesでは、列名が完全に同じだと、後の列の値で上書きします。この2形式で出力する前に、重複する列名を直してください。

JSON Linesは、JSONオブジェクトを1行ずつ読み込む処理に向いています。全体を囲む配列や、レコード間のカンマは付きません。CSVのセル内にある改行は\nとして書き込むため、1レコードが1行に収まります。

{"id":"001","note":"first\nsecond"}
{"id":"002","note":"done"}

JSON Linesでも、変換できる上限は250,000レコードです。1行ずつ読み込んで順次書き出す仕組みではないため、この形式を選んでも上限は増えません。一部だけをプレビューしている場合は保存できません。JSONをCSVに戻す場合はJSONからCSVへの変換、入れ子のデータを扱う場合はネストしたJSONの変換ガイドをご覧ください。

このツールでできること

CSVをJSONに変換

CSVをJSONオブジェクトの配列、二次元配列、JSON Linesのいずれかに変換します。「数値・真偽値・nullを推定」をオンにすると、値に応じて型を自動判定します。「000184」のように先頭がゼロの番号は、文字列のまま出力します。

使い方

  1. CSVを開くか貼り付けて、見出し行と区切り文字の判定を確認します。
  2. オブジェクト配列、二次元配列、改行区切りのJSON Linesから形式を選びます。
  3. 型推定と空セルの扱いを設定し、表を確認してJSONを保存します。

よくある用途

  • CSVをオブジェクト配列、二次元配列、JSON Linesのいずれかに変換する。
  • 先頭がゼロのIDを文字列のまま残し、真偽値、null、数値だけを安全に推定する。
  • 重複した見出しを修復し、CSVの列名をJSONのキーとして使用できる形に整える。

ファイルの取り扱いとプライバシー

端末から選択したファイルは、ブラウザ内で読み取ります。ファイルの内容やファイル名をCSV Dockのサーバーへアップロードしたり、アクセス解析へ含めたりしません。公開URLを指定した場合だけ、ブラウザからそのURLへ直接アクセスします。接続先が外部サイトからの読み込みを許可していない場合は利用できません。

対応しているデータと注意点

  • 「000184」のような値は、型推定を有効にしても文字列のまま残します。
  • 重複した見出しは診断に表示され、変換前に重複しない名前へ修復できます。
  • JSON Linesは1行に1オブジェクトを書き出し、拡張子は.jsonlになります。

よくある質問

どのJSON形式を選べばよいですか?

一般的なAPIにはオブジェクト配列、列の位置が重要な処理には二次元配列、ストリーミングやデータ基盤にはJSON Linesが適しています。

IDが数値へ変換されることはありますか?

先頭にゼロがある識別子は文字列のままです。それ以外の明確な数値は、型推定を有効にした場合だけ数値になります。

CSVの空セルはJSONでどうなりますか?

初期設定では空文字列になります。nullにするには、「数値・真偽値・nullを推定」と「空セルをnullとして出力」の両方をオンにしてください。

CSVの困りごとを解決

関連するCSVツール