CSV を JSON に変換
CSV の各行が 1 つの JSON オブジェクトになり、ヘッダー行がプロパティ名になります。このガイドでは、引用符で囲まれたカンマとエスケープされた引用符を含む小さなファイルを実際に変換し、適用されるルールを一つずつ説明します。
変換例
id,name,item,price,paid 1,"Smith, Jane","Monitor 27""",189.99,true 2,Kim,Keyboard,,false
[
{
"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 になります。最後のヘッダーを超える値は破棄されます。