Конвертация CSV в JSON
Каждая строка CSV становится одним объектом 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""" удвоенная кавычка превращается в один обычный символ кавычки. Пустая цена у Kim становится null, а числа и true/false выводятся как типы JSON, а не как строки.
Как это обрабатывает конвертер
- Каждая непустая строка — это одна запись, пустые строки пропускаются. Значение в кавычках не может содержать перенос строки.
- Заключайте значение в двойные кавычки, если оно содержит разделитель. Внутри кавычек записывайте кавычку как две кавычки ("").
- Пробелы в начале и в конце каждого значения удаляются.
- Когда включён параметр «Первая строка в качестве заголовков», первая строка задаёт ключи; когда он выключен, ключами становятся col0, col1, col2 и так далее.
- Пустые ячейки и слово null становятся null, true и false (в любом регистре) — логическими значениями, а числовой текст становится числом, даже если он в кавычках, поэтому 00123 превращается в 123.
- Если в строке меньше значений, чем заголовков, недостающие столбцы получают null; значения после последнего заголовка отбрасываются.