このツールでできること
CSVをJSONに変換
CSVをJSONオブジェクトの配列、二次元配列、JSON Linesのいずれかに変換します。「数値・真偽値・nullを推定」をオンにすると、値に応じて型を自動判定します。「000184」のように先頭がゼロの番号は、文字列のまま出力します。
アップロード不要・ブラウザ内で処理
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で取り込みたいのに、日本語の商品名が読めない。そんなときは、JSONの設定より先にCSVの文字コードを確認します。Excelで保存したCSVでも、保存形式や利用環境によって文字コードは異なります。拡張子が.csvであることだけでは、UTF-8かShift_JISかを判断できません。
以下は架空の商品データです。内容は同じで、ファイルの文字コードだけが異なります。それぞれを読み込み、商品コードの00123と日本語の商品名が同じ結果になるか確認できます。
型の推定をオフにした場合、数量も文字列として出力されます。
[
{
"商品コード": "00123",
"商品名": "ノート, A5",
"数量": "2"
},
{
"商品コード": "00456",
"商品名": "ボールペン",
"数量": "10"
}
]自動判定は候補の推定です。短いデータや英数字だけのファイルでは、文字コードを特定できないことがあります。判定名だけを信じず、日本語や記号を原本と照合してください。このツールのShift_JISはCP932の拡張文字も扱う読み込み設定です。
元のファイルに正しいバイト列が残っていれば、文字コードを指定して読み直せます。一方、文字が「�」や「?」に置き換わった状態で保存されている場合、文字コードを変えても元の文字は復元できません。出力元からファイルを取得し直してください。貼り付けたテキストには元の文字コード情報がないため、読み込み設定だけでは直せません。
00123が123になる現象は、文字コードではなく数値としての読み込みが原因です。CSV内に00123が残っていれば、このツールは先頭の0を保持します。型の推定をオフにすると、数量や金額も文字列のまま残せます。Excelなどですでに0が消えている場合、JSON変換だけでは元の桁数は分かりません。
CSVそのものの文字コードを変えたい場合は文字コードを確認して保存する手順、表計算用の.xlsxが必要ならCSVからExcelへの変換を使ってください。JSONからCSVへ戻す場合は、上の「JSON → CSV」で方向を切り替えられます。切り替える前に結果を保存してください。
CSVには型の情報がないため、読み込んだ値はまず文字列として扱います。番号を文字列のまま使うか、金額を数値にするか、空欄をどう扱うかを設定してください。オブジェクトのキーにはヘッダー行の列名を使います。先頭行が列名なら「ヘッダー行として使用」を選び、読み込まれた列名を確認します。
「数値・真偽値・nullを推定」をオンにすると、セルごとに型を判定します。列全体を同じ型にそろえる機能ではないため、同じ列に数値と文字列が混ざることがあります。判定時には前後の空白を無視します。どの条件にも当てはまらない文字列は、前後の空白もそのまま残します。
| CSVの値 | 型の推定をオンにしたときのJSON |
|---|---|
true、TRUE、False | 真偽値のtrueまたはfalse |
null、NULL | 「空セルをnullとして出力」がオフでもnull |
12.50、-3、1e3 | 数値の12.5、-3、1000 |
00120、+12、.5 | 文字列のまま。このツールでは数値に変換しない表記です |
9007199254740993、1e309 | 文字列のまま。整数を正確に扱える範囲を超える値や、無限大になる値は数値に変換しません |
小数はJavaScriptの数値に変換するため、十進数を厳密に扱う計算には向きません。金額の精度や12.50のような表記を変えたくない場合は、型の推定をオフにしてください。trueやnullも文字列のまま出力します。CSVの値を引用符で囲んでも、型の推定は行われます。引用符はカンマや改行を値に含めるためのCSVの書き方で、JSONの型を指定するものではありません。
「数値・真偽値・nullを推定」がオフなら、空欄は空文字列""になり、スペースなどの空白文字はそのまま残ります。この場合、「空セルをnullとして出力」の設定は使われません。
型の推定をオンにすると、空欄と空白文字だけの値を同じように扱います。「空セルをnullとして出力」がオフなら""、オンならnullになります。空の項目をキーごと削除する設定はありません。
列数が足りない行は、空欄ではなくCSVの書き方に問題がある場合もあります。オブジェクト配列とJSON Linesでは、足りない末尾の列を空欄で補い、上の設定に従って出力します。二次元配列では補わず、元の行の要素数で出力します。すべての値が空のレコードは、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になります。長い番号の例は先頭ゼロのサンプルでも確認できます。
項目名で値を取り出す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オブジェクトの配列、二次元配列、JSON Linesのいずれかに変換します。「数値・真偽値・nullを推定」をオンにすると、値に応じて型を自動判定します。「000184」のように先頭がゼロの番号は、文字列のまま出力します。
端末から選択したファイルは、ブラウザ内で読み取ります。ファイルの内容やファイル名をCSV Dockのサーバーへアップロードしたり、アクセス解析へ含めたりしません。公開URLを指定した場合だけ、ブラウザからそのURLへ直接アクセスします。接続先が外部サイトからの読み込みを許可していない場合は利用できません。
一般的なAPIにはオブジェクト配列、列の位置が重要な処理には二次元配列、ストリーミングやデータ基盤にはJSON Linesが適しています。
先頭にゼロがある識別子は文字列のままです。それ以外の明確な数値は、型推定を有効にした場合だけ数値になります。
初期設定では空文字列になります。nullにするには、「数値・真偽値・nullを推定」と「空セルをnullとして出力」の両方をオンにしてください。