CSVからJSONへ

CSVはスプレッドシートやデータベースからのエクスポートから得られる形式ですが、JSONはAPI、JavaScriptフロントエンド、および現代の設定ファイルで使用される標準的な形式です。このコンバーターはヘッダー行を含むCSVデータを受け取り、各ヘッダー列をキーとして、各データ行を対応するオブジェクトとして持つJSONオブジェクトの配列を生成します。出力結果は非エンコードされたUnicode文字およびフォワードスラッシュで表示されるため、PostmanリクエストやJSファイルにそのまま貼り付けることができます。

CSVがJSONに変換される方法

  1. 1

    CSVを貼り付けます

    ヘッダー行と1つのデータ行を少なくとも含む必要があります。そうでない場合は、ツールはエラーを返します。

  2. 2

    ヘッダー行でキーを設定します

    行1は`str_getcsv`で解析され、列名から空白が削除された後、JSONキーとして処理されます。

  3. 3

    各データ行はオブジェクトになります

    値は位置によってヘッダーと対応付けられます。欠けているセルは空の文字列として出力されます。

  4. 4

    美しいJSONをコピーします

    JSON_PRETTY_PRINT、JSON_UNESCAPED_UNICODE、JSON_UNESCAPED_SLASHESで整形されており、どのエディタでも読みやすく表示されます。

変換処理におけるデータ型およびエッジケースの対応方法

CSVは本質的に型を持たないものであり、すべてのセルが文字列です。一方、JSONには明確な型が定められています。コンバーターは安全を優先するため、すべての値をJSON文字列として保持します。数値が知らないうちにテキストに変換されたり、ゼロで始まるIDが先頭のゼロを失ったりすることは決してありません。

CSVデータを入力:

name,age,email
Alice,30,alice@example.com
Bob,25,bob@example.com

JSON出力:

[
  { "name": "Alice", "age": "30", "email": "alice@example.com" },
  { "name": "Bob",   "age": "25", "email": "bob@example.com"   }
]

ageは数値ではなく文字列であることに注意してください。数値型が必要な場合は、JavaScriptでNumber(row.age)を用いて後処理するか、またはより多くの入力オプションを提供するCSVからJSONへの変換ツールを使用してください。

エッジケース

状況 動作
空のデータ行 黙ってスキップされ、出力に空のオブジェクトは含まれません。
行がヘッダーより短い場合 不足しているフィールドは空の文字列として出力されます。
行がヘッダーより長い場合 余分なセルは破棄されます。
重複するヘッダー名 後のキーが、生成されるオブジェクト内で前のキーを上書きします。
前後に空白を含むヘッダー キーとして使用する前にトリムされます。

他のCSVからJSONへの変換ツールをいつ選択するか

これはシンプルなコンバーターで、合理的なデフォルト設定が採用されており、特別なオプションはありません。カンマ以外の区切り文字を使用する場合、ヘッダー行を無効にする場合、またはコンパクト出力と美観優先出力を切り替える場合は、「CSVからJSONへのコンバーター」をご利用ください。

よくある質問

このシンプルなコンバーターでは対応していません。すべての値はJSON文字列として出力され、00123のようなIDや1.50のような小数値はそのまま正確に保持されます。後処理として、利用側でNumber()またはparseFloat()を使用するか、追加のオプションが必要な場合はもう一つのCSVからJSONへのコンバーターをご利用ください。

このツールにはヘッダーが1つ必要です。ヘッダー名をJSONキーとして使用します。ファイルにヘッダーがない場合は、上部にcol1,col2,col3のような行を追加するか、ヘッダーを無効にするオプションを備えたCSVからJSONへの変換ツールに切り替えてください。

Unicode文字はエスケープ処理されていません(アクセント記号、CJK文字、絵文字などはすべて出力時に文字通り表示されます)。フォワードスラッシュもエスケープされていないため、URLが自然に表示されます。値内の二重引用符は\"として正しくエスケープされています。

はい。JSONを生成するためにCSVは当サーバーに送信されます。保存はされず、ページのリンクにも追加されません。

関連ツール