Guide · Data

CSV ↔ JSON ↔ XML 데이터 변환 가이드

엑셀 표를 개발자에게 넘길 JSON으로, 혹은 그 반대로 바꿔야 할 때 형식별 특징과 주의할 점을 정리했습니다.

같은 데이터, 다른 형식이 필요한 이유

같은 데이터라도 쓰는 사람·프로그램에 따라 필요한 형식이 다릅니다. 엑셀은 표(CSV) 형식을 좋아하고, 웹 API와 개발자는 JSON을 주로 쓰며, 일부 구형 시스템은 여전히 XML을 요구합니다. 형식을 손으로 바꾸다 보면 쉼표나 따옴표 처리에서 실수하기 쉬워, 정해진 규칙대로 변환해주는 도구를 쓰는 게 안전합니다.

형식별 특징

형식주로 쓰는 곳특징
CSV엑셀, 스프레드시트쉼표로 구분된 표. 사람이 읽기 쉽지만 중첩 구조 표현이 어려움
JSON웹 API, 프로그래밍중첩된 객체·배열을 자유롭게 표현. 대부분의 프로그래밍 언어에서 기본 지원
XML구형 시스템, 일부 공공 API태그 기반 구조. 속성(attribute)과 텍스트를 함께 표현할 수 있음
YAML설정 파일, DevOps들여쓰기로 구조를 표현해 사람이 읽고 쓰기 편함
TSV엑셀 붙여넣기탭으로 구분된 표. 값 안에 쉼표가 많은 데이터에 CSV보다 안전

CSV → JSON, 헤더 처리가 핵심

CSV ↔ JSON 변환은 CSV의 첫 행을 헤더(각 항목의 키 이름)로 사용합니다. 쉼표나 따옴표가 값 안에 포함된 경우(예: 주소에 쉼표가 들어간 경우)의 이스케이프 처리도 함께 지원하므로, 엑셀에서 그대로 내보낸 CSV를 올려도 대부분 문제없이 변환됩니다. 반대로 JSON을 CSV로 바꿀 때는 배열 안의 객체들이 같은 키 구조를 가지고 있어야 표로 깔끔하게 정리됩니다.

XML로 바꿔야 할 때 주의할 점

JSON ↔ XML 변환에서는 XML의 속성(attribute)이 @속성명 키로, 태그 안에 텍스트와 하위 요소가 섞여 있으면 #text 키로 표현됩니다. XML ↔ CSV 변환은 <rows><row><a>1</a><b>2</b></row>...</rows>처럼 행이 반복되는 단순한 구조를 가정하므로, 중첩이 깊거나 속성 위주로 짜인 XML은 값이 온전히 옮겨지지 않을 수 있습니다. 이런 경우 먼저 JSON으로 바꿔 구조를 확인한 뒤 필요한 부분만 정리하는 방법을 추천합니다.

개발 문서 · 보고서에 쓸 표가 필요할 때

깃허브 README나 노션 문서에 표를 넣어야 한다면 CSV ↔ Markdown 표 변환으로 CSV를 바로 Markdown 표 문법으로 바꿀 수 있습니다. 데이터베이스에 대량으로 데이터를 넣어야 한다면 CSV → SQL INSERT 문 생성으로 첫 행을 컬럼명 삼아 INSERT INTO 구문을 자동으로 만들 수 있고, 빈 값은 NULL로 처리됩니다.

로그·설정 파일 관련 형식

로그 수집 파이프라인에서는 한 줄에 객체 하나씩 담는 NDJSON(JSON Lines) 형식이 자주 쓰이는데, CSV ↔ NDJSON 변환으로 표 형식 데이터와 서로 바꿀 수 있습니다. 설정 파일을 다룬다면 CSV ↔ YAML 변환으로 표를 YAML 레코드 목록으로 만들 수 있습니다.

바로 사용해보기 아래 기능은 모두 지오시프트의 데이터 탭에서 브라우저 안에서 바로 처리됩니다.

자주 묻는 질문

변환 결과에 한글이 깨져서 나와요

엑셀에서 CSV를 저장할 때 인코딩을 "CSV UTF-8"로 선택했는지 확인해보세요. 기본 "CSV" 옵션은 시스템 언어에 따라 다른 인코딩(EUC-KR 등)으로 저장돼 한글이 깨질 수 있습니다.

JSON 문법 오류가 어디 있는지 모르겠어요

JSON 예쁘게 보기 기능에 넣어보면 들여쓰기가 되면서 구조가 한눈에 보이고, 문법이 잘못된 경우 오류로 안내해줍니다.