Skip to content
DocsAll
教程

CSV to JSON 튜토리얼: 표 데이터 구조화 변환

Timi Tian · 게시일 2026년 4월 18일 · 수정일 2026년 7월 12일
CSVJSON데이터 변환

왜 CSV를 JSON으로 변환하는가

CSV는 표 데이터 형식이며 Excel 내보내기의 기본 형식입니다. JSON은 프로그램 친화적 형식이자 API 전송의 표준입니다. CSV를 JSON으로 변환하면 표 데이터를 프로그램이 직접 소비할 수 있습니다.

흔한 시나리오:

  • Excel 데이터를 웹사이트 데이터베이스로 가져오기
  • 표 데이터를 API와 연동
  • 데이터 분석 결과를 프론트엔드에 전달해 렌더링
  • 설정을 표에서 JSON 파일로 마이그레이션

CSV와 JSON의 차이

CSV 형식

name,age,city
Tom,25,베이징
Jerry,30,상하이
  • 순수 텍스트, 쉼표로 구분
  • 첫 행은 헤더
  • 한 행에 한 레코드
  • 타입 없음(모두 문자열)
  • 중첩 구조 없음

JSON 형식

[
  {"name": "Tom", "age": 25, "city": "베이징"},
  {"name": "Jerry", "age": 30, "city": "상하이"}
]
  • 구조화, 키-값 쌍
  • 타입 있음(문자열, 숫자, 불리언)
  • 중첩 지원
  • 프로그램이 직접 파싱

변환 원리

헤더 매핑

CSV 첫 행은 헤더이며 JSON 변환 시 헤더가 객체의 키가 됩니다:

  • 헤더: name, age, city
  • 첫 행 데이터: Tom, 25, 베이징
  • 변환: {"name": "Tom", "age": "25", "city": "베이징"}

데이터 유형 인식

CSV의 모든 값은 문자열입니다. JSON 변환 시 유형을 스마트하게 인식할 수 있습니다:

  • 숫자: "25" → 25(숫자)
  • 불리언: "true" → true(불리언)
  • 널값: "" → null(널)
  • 문자열: 문자열 유지

유형을 인식하지 않으면 전부 문자열로 처리합니다.

배열 생성

CSV 한 행당 객체 하나, 모든 행이 배열을 구성합니다:

[
  {객체1},
  {객체2}
]

중첩 구조

문제

CSV는 평면 표이고 JSON은 중첩을 지원합니다. 평면 CSV를 중첩 JSON으로 어떻게 변환할까요?

방법 1: 점 표기 키명

CSV 헤더에 점으로 계층을 표시합니다:

name,address.city,address.zip
Tom,베이징,100000

JSON 변환:

{
  "name": "Tom",
  "address": {
    "city": "베이징",
    "zip": "100000"
  }
}

방법 2: 배열 인덱스

name,tags[0],tags[1]
Tom,A,B

JSON 변환:

{
  "name": "Tom",
  "tags": ["A", "B"]
}

방법 3: 세미콜론 구분

name,tags
Tom,"A;B;C"

JSON 변환:

{
  "name": "Tom",
  "tags": ["A", "B", "C"]
}

변환 단계

1. CSV 준비

CSV 형식이 올바른지 확인:

  • 첫 행은 헤더
  • 필드는 쉼표로 구분
  • 쉼표가 포함된 필드는 큰따옴표로 감싸기
  • 큰따옴표가 포함된 필드는 큰따옴표 두 개로 이스케이프

2. 업로드 또는 붙여 넣기

CSV 내용을 변환 도구에 붙여 넣거나 CSV 파일을 업로드합니다.

3. 옵션 설정

  • 데이터 유형 인식 여부
  • 중첩 구조 처리 방식
  • 출력 형식(배열 또는 행별 객체)

4. 변환

도구가 자동 변환하여 JSON을 출력합니다.

5. 검증

JSON 결과가 예상과 맞는지 검사:

  • 필드가 올바른가
  • 유형이 올바른가
  • 중첩이 올바른가

흔한 문제

쉼표가 포함된 필드

CSV 필드에 쉼표가 있으면 큰따옴표로 감싸야 합니다:

name,desc
Tom,"Hello, world"

감싸지 않으면 두 필드로 인식되어 변환 오류가 발생합니다.

한글 깨짐

CSV는 UTF-8 인코딩을 사용하세요. Excel 기본값이 GBK일 수 있으며 내보낼 때 UTF-8을 선택하세요.

널값 처리

CSV 빈 셀을 JSON으로 변환할 때 빈 문자열 ""인가, null인가?

  • 기본값: 빈 문자열 ""
  • 스마트 인식: null
  • 도구 옵션 확인

숫자 정밀도

큰 숫자를 JSON으로 변환하면 정밀도가 손실될 수 있습니다. 예를 들어 18자리 신분증 번호는 숫자로 변환하면 과학적 표기법이 됩니다. 신분증 번호는 문자열로 처리하세요(CSV에서 인용 부호를 추가하거나 변환 시 문자열 유형 지정).

날짜 형식

CSV 날짜 형식이 통일되지 않습니다(2024-01-01, 2024/1/1, Jan 1 2024). JSON 변환 시 문자열로 유지하고 프론트엔드에서 다시 파싱하세요.

BOM 헤더

Excel에서 내보낸 CSV에 BOM 헤더(\uFEFF)가 있을 수 있어 첫 필드명 앞에 보이지 않는 문자가 생깁니다. 변환 도구는 BOM을 자동으로 제거해야 합니다.

변환 팁

CSV 전처리

변환 전에 Excel에서 정리:

  • 빈 행 삭제
  • 날짜 형식 통일
  • 필드 완전성 검사

선택적 변환

필요한 열만 변환하세요. 불필요한 열은 CSV에서 삭제하여 JSON 크기를 줄입니다.

분할 변환

초대형 CSV를 한 번에 변환하면 버벅거릴 수 있습니다. 분할하여 변환하세요(몇백 행씩).

결과 검증

변환 후 JSON 포맷팅 도구로 미화하고 몇 건을 수동으로 확인하세요.

DocsAll로 변환

CSV to JSON 도구:

  1. CSV 파일 업로드 또는 CSV 내용 붙여 넣기
  2. 도구가 자동으로 헤더와 데이터 파싱
  3. 변환 옵션 설정(유형 인식 등)
  4. JSON 생성
  5. 결과 복사 또는 다운로드

브라우저에서 변환되며 CSV 데이터는 서버에 업로드되지 않아 민감한 데이터 처리에 적합합니다.

역방향 변환: JSON to CSV

때로는 역방향으로 JSON을 CSV로 변환해야 합니다:

  • API가 JSON을 반환하고 Excel로 내보내 분석
  • 데이터베이스 JSON 필드를 표로 내보내기

JSON to CSV의 어려운 점:

  • 중첩 구조 평탄화
  • 배열 필드 처리(이어 붙이기 또는 여러 행 전개)
  • 필드가 통일되지 않을 때 빈값 보정

요약

CSV to JSON의 핵심은 헤더 매핑으로 키명 지정, 데이터 유형 인식, 중첩 구조 처리입니다. 쉼표가 포함된 필드, 한글 인코딩, 널값과 큰 숫자 정밀도에 주의하세요. DocsAll CSV to JSON 도구는 브라우저에서 실행되어 데이터가 외부로 전송되지 않습니다.

T
Timi Tian 创始人 / 全栈工程师

DocsAll 创始人,10 年全栈开发经验,专注浏览器端文档处理技术与隐私保护架构。前新加坡科技公司技术负责人。