kwivaro웹 도구

STRUCTURED DATA GUIDE

JSON과 CSV 변환에서 데이터가 깨지는 이유

JSON은 계층 구조를 표현하고 CSV는 행과 열을 표현합니다. 모양이 다른 두 형식을 변환할 때는 단순히 확장자만 바꾸는 것이 아니라, 어떤 정보를 한 칸에 담을지 결정해야 합니다.

kwivaro 편집팀 작성검토일 2026-08-13읽는 시간 9분

평평한 표와 중첩 구조의 차이

CSV의 한 행은 보통 하나의 레코드이고 각 열은 같은 종류의 값을 가집니다. JSON은 객체 안에 객체나 배열을 넣을 수 있습니다. 예를 들어 한 고객이 여러 주소를 가진 JSON을 CSV로 옮기려면 주소를 여러 행으로 펼칠지, 하나의 셀에 문자열로 넣을지 정해야 합니다.

변환 전에 필요한 최종 형태를 먼저 정하세요. 스프레드시트 분석이 목적이면 중첩 데이터를 열로 평탄화하고, 원래 구조 보존이 목적이면 JSON을 유지하는 편이 낫습니다.

쉼표와 줄바꿈이 열을 밀어내는 이유

CSV에서 쉼표는 열 구분자로 사용됩니다. 셀 내용에도 쉼표가 있다면 해당 값을 큰따옴표로 감싸야 합니다. 값 안의 큰따옴표는 일반적으로 두 번 써서 이스케이프합니다. 줄바꿈이 들어간 설명문도 따옴표 처리가 필요합니다.

CSV를 직접 문자열 치환으로 만들면 이런 규칙을 놓치기 쉽습니다. 변환 후 첫 행뿐 아니라 쉼표, 따옴표와 줄바꿈이 포함된 행을 골라 확인하세요.

인코딩과 한글 깨짐

웹 도구는 일반적으로 UTF-8을 사용하지만 일부 스프레드시트 프로그램은 운영체제 지역 설정이나 BOM 유무에 따라 다른 인코딩으로 해석할 수 있습니다. 파일 내용이 정상인데 한글이 깨지면 데이터를 다시 만들기 전에 가져오기 메뉴에서 UTF-8을 지정해 보세요.

다른 시스템에 제출할 파일이라면 그 시스템이 요구하는 인코딩, 구분자와 줄바꿈 규칙을 확인해야 합니다. CSV라는 이름만으로 모든 프로그램이 같은 방식을 사용하는 것은 아닙니다.

우편번호와 상품 코드의 앞자리 0

00123 같은 값은 숫자가 아니라 식별자일 수 있습니다. 스프레드시트가 자동으로 숫자로 판단하면 123으로 바꾸거나 긴 숫자를 지수 표기로 표시합니다. 전화번호, 우편번호, 주문번호와 계정 코드는 문자열로 다루는 것이 안전합니다.

JSON에서는 따옴표가 있으면 문자열이고 없으면 숫자입니다. 변환 전 각 열의 의미를 정하고, 결과 프로그램에서 자동 형식 변환이 일어나는지도 확인하세요.

빈 값, null, 0은 서로 다릅니다

  • 빈 문자열은 값의 자리는 있지만 내용이 없는 상태입니다.
  • null은 값이 없음을 명시한 JSON 값입니다.
  • 0은 유효한 숫자이며 누락 값으로 취급하면 안 됩니다.
  • CSV의 빈 셀을 null과 빈 문자열 중 무엇으로 바꿀지는 사용 목적에 따라 정해야 합니다.
  • 변환 후 레코드 수, 열 이름, 첫 행과 마지막 행을 함께 검수합니다.

민감한 데이터는 샘플로 먼저 시험하세요

kwivaro 변환 도구는 입력을 현재 브라우저에서 처리하지만, 실제 고객 정보나 접근 토큰을 붙여넣기 전에 구조만 같은 가짜 샘플로 결과 형태를 먼저 확인하는 습관이 좋습니다. 변환 결과를 외부 시스템에 업로드할 때는 해당 시스템의 개인정보 처리 기준이 별도로 적용됩니다.

관련 도구로 직접 확인하기

자주 묻는 질문

모든 JSON을 CSV 한 장으로 바꿀 수 있나요?

기술적으로 문자열화할 수는 있지만 중첩 배열과 서로 다른 구조가 많으면 표로서 활용하기 어렵습니다. 목적에 따라 여러 CSV로 나누는 것이 더 정확할 수 있습니다.

CSV 구분자는 항상 쉼표인가요?

아닙니다. 지역과 프로그램에 따라 세미콜론이나 탭을 쓰기도 합니다. 가져올 시스템의 규격을 확인하세요.

JSON 포맷팅이 데이터 값을 바꾸나요?

정상적인 포맷터는 공백과 들여쓰기를 바꾸고 값은 유지합니다. 그래도 중요한 데이터는 변환 전후 레코드 수와 주요 값을 비교하세요.