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의 비어 있는 price는 null이 되고, 숫자와 true/false는 문자열이 아닌 JSON 형식으로 출력됩니다.
변환기 처리 방식
- 비어 있지 않은 줄 하나가 레코드 하나이며, 빈 줄은 건너뜁니다. 따옴표로 묶은 값에는 줄바꿈을 넣을 수 없습니다.
- 값에 구분 기호가 들어 있으면 큰따옴표로 묶으세요. 따옴표 안에서 따옴표 문자를 쓰려면 따옴표 두 개("")로 적습니다.
- 각 값의 앞뒤 공백은 제거됩니다.
- “첫 번째 행을 헤더로 사용”을 켜면 첫 줄이 키가 되고, 끄면 키가 col0, col1, col2 등이 됩니다.
- 빈 셀과 null이라는 단어는 null이 되고, true와 false(대소문자 무관)는 불리언이 되며, 숫자 텍스트는 따옴표로 묶여 있어도 숫자가 됩니다. 따라서 00123은 123이 됩니다.
- 값의 개수가 헤더보다 적은 행은 부족한 열에 null이 들어가고, 마지막 헤더를 넘어서는 값은 버려집니다.