CSV와 JSON 차이부터 안전한 변환 방법까지
CSV·TSV와 JSON의 구조 차이, 한글 깨짐과 구분자 오류를 피하면서 데이터를 양방향 변환하는 실전 방법을 설명합니다.
스프레드시트는 CSV를, 웹 API는 JSON을 자주 사용합니다. 두 형식은 모두 데이터를 저장하지만 구조와 표현 방식이 달라 그대로 복사하면 열이 밀리거나 숫자 형식이 달라질 수 있습니다. CSV·JSON 변환기를 사용하기 전에 차이를 이해하면 변환 오류를 훨씬 빠르게 찾을 수 있습니다.
CSV와 JSON의 핵심 차이
CSV는 한 줄을 한 행으로, 쉼표 같은 구분자로 열을 나눕니다. 구조가 단순하고 엑셀이나 구글 스프레드시트에서 열기 쉽습니다. JSON은 객체와 배열로 계층 구조를 표현하며 데이터 종류도 문자열, 숫자, 참·거짓, null로 구분할 수 있습니다.
이름,도시,활성
민수,서울,true
서연,부산,false
[
{ "이름": "민수", "도시": "서울", "활성": true },
{ "이름": "서연", "도시": "부산", "활성": false }
]
CSV의 true는 보통 문자로 읽히지만 JSON의 true는 논리값입니다. 전화번호 01012345678, 우편번호, 상품 코드처럼 앞의 0이 중요한 값은 스프레드시트가 숫자로 해석해 0을 지울 수 있으므로 특히 주의해야 합니다.
CSV를 JSON으로 변환하는 방법
- Cobin CSV·JSON 변환기를 엽니다.
- 변환 방향을 CSV·TSV → JSON으로 설정합니다.
- 데이터를 붙여 넣거나 파일을 불러옵니다.
- 첫 행이 열 이름이면 헤더 옵션을 켭니다.
- 구분자를 자동 감지하거나 쉼표, 탭, 세미콜론 중 직접 선택합니다.
- 변환 후 JSON 포맷터로 구조와 문법을 다시 확인합니다.
첫 행의 열 이름은 JSON 객체의 키가 됩니다. 같은 열 이름이 반복되거나 빈 열 이름이 있으면 데이터를 구분하기 어려워지므로 변환 전에 고유하고 의미 있는 이름으로 정리하세요.
JSON을 CSV로 변환하는 방법
CSV는 평평한 표 구조에 적합하므로 JSON 최상위 값은 객체 배열인 것이 가장 좋습니다. 각 객체가 한 행, 객체의 키가 열 이름이 됩니다.
[
{ "상품": "노트", "가격": 3500 },
{ "상품": "펜", "가격": 1200 }
]
중첩 객체나 배열이 들어 있으면 하나의 셀에 어떻게 표현할지 정해야 합니다. 예를 들어 주소.도시처럼 키를 평탄화하거나, 중첩 값을 JSON 문자열로 보관할 수 있습니다. 시스템 간 교환 규칙이 정해져 있다면 그 규칙을 우선하세요.
쉼표가 들어 있는 문장이 열을 밀어낼 때
CSV 값 안에 쉼표, 줄바꿈, 큰따옴표가 있으면 값을 큰따옴표로 감싸야 합니다. 값 안의 큰따옴표는 두 번 써서 표현합니다.
이름,메모
민수,"서울, 부산 방문"
서연,"그는 ""확인 완료""라고 답함"
단순히 문자열을 쉼표로 나누는 코드는 이 규칙을 처리하지 못합니다. 데이터에 자유 입력 문장이 있다면 표준 CSV 파서를 사용하는 변환기가 필요합니다. 탭으로 구분된 TSV도 셀 안에 탭이나 줄바꿈이 있는지 확인해야 합니다.
한글 깨짐을 예방하는 방법
브라우저와 대부분의 최신 서비스는 UTF-8을 사용합니다. 하지만 일부 윈도우 환경의 스프레드시트 프로그램은 CSV를 다른 문자 인코딩으로 추정해 한글이 깨질 수 있습니다.
가능하면 가져오기 메뉴에서 파일 인코딩을 UTF-8로 직접 지정합니다. 시스템에서 UTF-8 BOM을 요구한다면 내보내기 규칙을 확인하고, 대량 데이터를 옮기기 전에 한글 이름과 특수문자가 포함된 2~3행으로 시험하세요.
변환 후 반드시 검증할 항목
| 검증 항목 | 확인 방법 |
|---|---|
| 행 개수 | 원본 레코드 수와 결과 배열 길이 비교 |
| 열 이름 | 누락·중복·불필요한 공백 확인 |
| 앞자리 0 | 전화번호와 코드 값을 문자열로 확인 |
| 날짜 | YYYY-MM-DD처럼 한 가지 규칙 사용 |
| 빈 값 | 빈 문자열과 null 중 어느 쪽인지 확인 |
| 특수문자 | 쉼표, 따옴표, 줄바꿈이 있는 행 점검 |
샘플 몇 행만 눈으로 보는 것으로 끝내지 말고 첫 행, 중간 행, 마지막 행을 확인합니다. 데이터가 중요하다면 원본 행 수와 변환 결과 수를 비교하고 필수 열의 빈 값 개수도 확인하세요.
개인정보와 대용량 데이터
Cobin 변환기는 브라우저에서 데이터를 처리합니다. 입력 내용을 분석 서비스로 보내지 않도록 설계되어 있지만, 운영 데이터의 비밀번호나 인증 토큰은 어떤 온라인 입력창에도 넣지 않는 것이 기본 원칙입니다. 고객 개인정보가 포함되어 있다면 조직의 보안 정책을 먼저 확인하세요.
브라우저 도구는 빠른 확인과 중소 규모 변환에 알맞습니다. 수십만 행을 반복 처리하거나 자동화해야 한다면 검증 가능한 스크립트와 데이터 파이프라인을 사용하는 편이 좋습니다.
마무리
CSV는 단순한 표, JSON은 구조화된 데이터 교환에 강합니다. 변환할 때는 구분자와 헤더를 먼저 확인하고, 중첩 구조·자료형·문자 인코딩 규칙을 정한 다음, 행 수와 중요 값을 검증하세요. 이 순서를 지키면 엑셀과 API 사이에서 생기는 대부분의 데이터 손실을 예방할 수 있습니다.