먼저 알아둘 기준

CSV의 한 행은 보통 JSON 객체 하나가 되고 첫 행의 헤더는 객체 키가 됩니다. 중복되거나 비어 있는 헤더가 있으면 키 충돌이 생길 수 있으므로 변환 전에 고유한 이름으로 정리해야 합니다.

CSV에는 명시적인 자료형이 없습니다. ‘00123’을 숫자로 바꾸면 앞자리 0이 사라지고, ‘TRUE’가 실제 불리언인지 제품 코드인지도 문맥 없이는 알 수 없습니다. 자동 추정은 선택적으로 사용해야 합니다.

JSON에서 CSV로 돌아갈 계획이라면 중첩 구조와 배열 처리도 정해야 합니다. 점 표기 평탄화는 간단하지만 원래 키에 점이 있을 때 충돌할 수 있고, 배열을 문자열화하면 다른 도구에서 다시 파싱해야 합니다.

실제 작업에서 보는 사례

01

name,age 행은 {"name":"민지","age":20} 객체로 변환하되 age 타입 추정 여부를 선택합니다.

02

우편번호 01234는 숫자가 아닌 문자열로 남겨 앞자리 0을 보존합니다.

03

메모 셀에 쉼표와 줄바꿈이 있으면 CSV 인용부호 규칙으로 하나의 값인지 확인합니다.

단계별로 확인하는 방법

  1. 1

    파일 인코딩과 쉼표·탭·세미콜론 구분자를 확인합니다.

  2. 2

    헤더가 비어 있거나 중복되지 않았는지 수정합니다.

  3. 3

    빈 값, 숫자와 불리언의 변환 정책을 정합니다.

  4. 4

    일부 행을 미리보기로 검증한 뒤 전체 JSON을 내려받습니다.

주의할 점

  • 자동 타입 추정은 식별자, 전화번호와 긴 정수의 의미 또는 정밀도를 바꿀 수 있습니다.
  • 신뢰하지 않는 CSV를 스프레드시트용으로 다시 저장할 때 수식 주입 방지 옵션을 확인해야 합니다.

기술적 제한

  • JavaScript Number의 안전 정수 범위를 넘는 값은 숫자로 파싱할 때 정밀도를 잃을 수 있습니다.
  • 평탄화된 키 구분자가 원래 키 이름에 포함되면 중첩 경로 충돌이 생길 수 있습니다.