Developer Tools

CSV에서 JSON으로: API에서 테이블 형식 데이터 다루기

스프레드시트를 API용 JSON으로 변환하는 방법, 헤더와 따옴표 처리 시 주의사항, 그리고 전송 전 페이로드 유효성 검사 방법을 알아보세요.

6분 읽기

Analytics and data

CSV는 CRM 내보내기, 은행 명세서, 재고 보고서 등 비즈니스 세계에서 여전히 데이터를 주고받는 방식입니다. JSON은 대부분의 REST 및 서버리스 API가 기대하는 형식입니다. 두 형식 간의 깔끔한 변환은 매번 일회성 스크립트를 작성하는 수고를 덜어줍니다.

기본 구조: 객체 배열

API에 가장 적합한 JSON 형태는 객체 배열로, 각 행마다 하나의 객체를 만들고 헤더 행의 값을 키로 사용합니다:

[
  { "sku": "A-100", "qty": "12", "warehouse": "East" },
  { "sku": "B-220", "qty": "3", "warehouse": "West" }
]

별도의 타입 변환 단계를 추가하지 않는 한, CSV는 모든 값을 문자열로 전달합니다. API에서 qty를 숫자로 변환해야 한다면 해당 처리를 추가해야 합니다.

헤더와 일관성

  • 첫 번째 행은 반드시 열 이름이어야 하며, 변환 전에 중복된 이름은 수정해야 합니다.
  • Excel의 UTF-8 내보내기 파일 첫 부분에 BOM 문자가 포함될 수 있습니다. 이는 단순한 파서를 오작동시키고 첫 번째 헤더를 \uFEFFsku처럼 만들 수 있습니다.
  • 따옴표로 묶인 필드에는 쉼표와 줄바꿈이 포함될 수 있습니다. 제대로 된 파서는 이를 처리하지만, 쉼표로 단순 분리하는 정규식 방식은 처리하지 못합니다.

JSON → CSV 변환 시

보고용 도구나 이메일 첨부파일에는 다시 CSV 형식이 필요한 경우가 많습니다. 객체당 한 행씩 내보내고, 객체 구조가 다를 경우 모든 키의 합집합을 열로 사용하세요(값이 없는 셀은 빈 칸으로 처리됩니다).

프로덕션 전 유효성 검사

변환 후에는 JSON Formatter를 통해 JSON을 검사하여 후행 쉼표, 작은따옴표, 또는 스프레드시트 수식에서 발생한 의도치 않은 NaN 값이 없는지 확인하세요.

파이프라인에서 설정 저장소의 YAML도 함께 처리한다면, YAML to JSON을 활용해 모든 데이터를 동일한 JSON 스키마 테스트에 맞출 수 있습니다.

직접 사용해보기

CSV ↔ JSON Converter는 브라우저에서 바로 실행됩니다. 샘플 내보내기 데이터를 붙여넣으면 포맷된 JSON을 얻을 수 있고, 반대 방향으로도 빠르게 변환할 수 있습니다. 파일이 기기 밖으로 전송되지 않습니다.

사용자가 CSV를 업로드하는 경우, 신뢰할 수 없는 입력으로 취급하세요. 파일 크기를 제한하고, Excel의 수식 주입(=cmd|)을 검사하며, 절대로 셀 내용을 코드로 실행하지 마세요.

요약

  • API에는 헤더 + 행 → 객체 배열 구조를 권장합니다.
  • 따옴표 규칙을 지키고, 프로덕션 환경에서는 직접 만든 CSV 파서 사용을 피하세요.
  • 다운스트림 서비스로 전송하기 전에 반드시 JSON 및 스키마 유효성 검사를 수행하세요.