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数値文字参照を表示します。
JavaScript圧縮ツール
変数名のリネーム、空白の削除、デッドコードの除去、定数畳み込みでJavaScriptを圧縮し、より小さなバンドルを作成します。
HTML文字参照
HTMLエンティティの検索可能なリスト、その名称コードおよび数値コード、および特殊文字や記号のワンクリックコピー機能を提供します。
FPS カウンター
requestAnimationFrame でブラウザーの FPS を測定。平滑化、最小・最大フレームレート、警告しきい値、任意のグラフに対応。ローカルで動作し、アップロードも API も不要です。
プレースホルダー画像ジェネレーター
1〜4000 pxの画像に色と文字を設定し、PNGで保存できます。外部URLとHTMLもコピーできます。
HTML 圧縮ツール
通常のコメントを削除し、空白を整理して、ブラウザ内で HTML をコンパクトにします。使用前に結果を確認してください。
このツールは他の言語でも利用できます
- CSV إلى JSON [AR]
- CSV를 JSON으로 [KO]
- CSV till JSON [SV]
- Chuyển từ CSV sang JSON [VI]
- Van CSV naar JSON [NL]
- แปลงจาก CSV เป็น JSON [TH]
- CSV do JSON [PL]
- CSV a JSON [ES]
- CSV en JSON [FR]
- CSV zu JSON [DE]
- CSV para JSON [PT]
- CSV ke JSON [ID]
- CSV'den JSON'a [TR]
- 从 CSV 转换为 JSON [ZH]
- CSV to JSON [EN]
- CSV in JSON [IT]
- От CSV к JSON [RU]