CSVからJSONへ
CSVはスプレッドシートやデータベースからのエクスポートから得られる形式ですが、JSONはAPI、JavaScriptフロントエンド、および現代の設定ファイルで使用される標準的な形式です。このコンバーターはヘッダー行を含むCSVデータを受け取り、各ヘッダー列をキーとして、各データ行を対応するオブジェクトとして持つJSONオブジェクトの配列を生成します。出力結果は非エンコードされたUnicode文字およびフォワードスラッシュで表示されるため、PostmanリクエストやJSファイルにそのまま貼り付けることができます。
CSVがJSONに変換される方法
-
1
CSVを貼り付けます
ヘッダー行と1つのデータ行を少なくとも含む必要があります。そうでない場合は、ツールはエラーを返します。
-
2
ヘッダー行でキーを設定します
行1は`str_getcsv`で解析され、列名から空白が削除された後、JSONキーとして処理されます。
-
3
各データ行はオブジェクトになります
値は位置によってヘッダーと対応付けられます。欠けているセルは空の文字列として出力されます。
-
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は当サーバーに送信されます。保存はされず、ページのリンクにも追加されません。
関連ツール
ASCII表リファレンス
0から127までの完全なASCII表です。NUL、LF、DELなどの制御コードを含め、各文字の10進数、16進数、8進数、2進数、HTML数値文字参照を表示します。
HTML文字参照
HTMLエンティティの検索可能なリスト、その名称コードおよび数値コード、および特殊文字や記号のワンクリックコピー機能を提供します。
キーボードショートカット一覧
macOS、Windows、Linux向けに、VS Code、Chrome、GNU Readlineを使うBashの公式資料に基づく既定ショートカットを検索できます。
HTML フォーマッター
ブラウザ内で HTML を 2 または 4 スペースで整形します。HTML はアップロードも検証もされません。
カラーパレットジェネレーター
基準のHEXカラーから、モノクロマティック、類似色、補色、トライアド、テトラードのパレットを生成し、コピーしやすいCSS変数として書き出します。
変更ログジェネレーター
分類した項目から Keep a Changelog 形式の Markdown セクションを作成します。Added、Changed、Fixed、Removed の各カテゴリに項目を貼り付け、Markdown かプレーンテキストを選んで出力をコピーするだけです。