メインコンテンツに移動

CSV を JSON に変換

CSV の各行が 1 つの JSON オブジェクトになり、ヘッダー行がプロパティ名になります。このガイドでは、引用符で囲まれたカンマとエスケープされた引用符を含む小さなファイルを実際に変換し、適用されるルールを一つずつ説明します。

変換例

入力 (CSV)
id,name,item,price,paid
1,"Smith, Jane","Monitor 27""",189.99,true
2,Kim,Keyboard,,false
出力 (JSON)
[
  {
    "id": 1,
    "name": "Smith, Jane",
    "item": "Monitor 27\"",
    "price": 189.99,
    "paid": true
  },
  {
    "id": 2,
    "name": "Kim",
    "item": "Keyboard",
    "price": null,
    "paid": false
  }
]

"Smith, Jane" はダブルクォートで囲まれているため、カンマは新しい列の区切りにならず、値の一部として残ります。"Monitor 27""" では、2 つ続いたダブルクォートが 1 つの引用符文字になります。Kim の空の price は null になり、数値と true/false は文字列ではなく JSON の型として出力されます。

コンバーターの処理ルール

  • 空でない行がそれぞれ 1 件のレコードになり、空行はスキップされます。引用符で囲んだ値の中に改行を含めることはできません。
  • 区切り文字を含む値はダブルクォートで囲みます。引用符の中で引用符そのものを書くときは、2 つ重ねて ("") 記述します。
  • 各値の先頭と末尾の空白は削除されます。
  • 「最初の行をヘッダーとして」がオンの場合は 1 行目がキーになり、オフの場合はキーが col0、col1、col2… となります。
  • 空のセルと null という語は null に、true と false(大文字・小文字を問わない)は真偽値になり、数値の文字列は引用符で囲まれていても数値になります。そのため 00123 は 123 になります。
  • 値の数がヘッダーより少ない行では、足りない列が null になります。最後のヘッダーを超える値は破棄されます。

その他の変換ガイド