JSON to CSV 변환기 완벽 가이드
JSON(JavaScript Object Notation)은 웹 개발과 API 통신에서 가장 널리 사용되는 데이터 교환 포맷입니다. 하지만 비개발자나 데이터 분석가가 JSON 데이터를 엑셀이나 스프레드시트에서 다루려면 CSV(Comma-Separated Values) 형식으로 변환해야 하는 경우가 많습니다. 이 도구는 JSON 배열 데이터를 CSV 파일로 빠르고 정확하게 변환해주는 무료 온라인 서비스입니다.
JSON to CSV 변환기는 브라우저에서 모든 처리가 이루어지므로 입력한 데이터가 외부 서버로 전송되지 않습니다. 개인정보나 민감한 비즈니스 데이터를 안심하고 변환할 수 있습니다. REST API에서 가져온 응답 데이터, 데이터베이스 내보내기 결과, 로그 파일 등 다양한 JSON 형식의 데이터를 엑셀이나 Google Sheets에서 바로 열 수 있는 CSV 파일로 변환해보세요.
주요 기능
- 자동 헤더 추출: JSON 배열의 모든 객체에서 키(key)를 자동으로 수집하여 CSV 헤더로 사용합니다. 서로 다른 키를 가진 객체가 섞여 있어도 누락 없이 모든 컬럼을 생성합니다.
- 중첩 객체 평탄화(Flatten): {"address": {"city": "서울", "zip": "12345"}}과 같은 중첩 구조를 address.city, address.zip 형태로 자동 변환하여 테이블 형식에 맞게 처리합니다.
- 구분자 선택: 콤마(,), 탭(Tab), 세미콜론(;) 중 원하는 구분자를 선택할 수 있습니다. 유럽권에서 자주 사용하는 세미콜론 구분자도 지원합니다.
- 미리보기 테이블: 변환 결과를 다운로드하기 전에 테이블 형태로 미리 확인할 수 있어 데이터가 올바르게 변환되었는지 즉시 검증할 수 있습니다.
- BOM 지원: UTF-8 BOM(Byte Order Mark)을 추가하여 엑셀에서 한글이 깨지지 않도록 합니다.
- CSV 다운로드: 변환된 결과를 .csv 파일로 바로 다운로드할 수 있습니다.
사용 방법
- JSON 배열 데이터를 입력란에 붙여넣습니다. [{"key":"value"}, ...] 형태여야 합니다.
- 필요에 따라 구분자를 선택하고, 평탄화 옵션과 헤더 포함 여부를 설정합니다.
- "CSV 변환" 버튼을 클릭하면 결과가 즉시 표시됩니다.
- 미리보기 테이블에서 데이터를 확인한 뒤 "CSV 다운로드" 버튼으로 파일을 저장합니다.
어떤 JSON 형식을 지원하나요?
이 도구는 JSON 배열(Array of Objects) 형태를 기본으로 지원합니다. 최상위가 배열이 아닌 단일 객체인 경우 자동으로 배열로 감싸서 처리합니다. 중첩 객체와 배열도 평탄화 옵션을 통해 처리할 수 있으며, null, undefined, boolean 등 다양한 JavaScript 타입을 올바르게 문자열로 변환합니다. 대용량 데이터도 브라우저 메모리 범위 내에서 처리할 수 있으며, 일반적으로 수만 행 규모의 JSON 데이터도 문제없이 변환됩니다.
자주 묻는 질문 (FAQ)
Q. JSON 데이터가 배열이 아닌 단일 객체인 경우에도 사용할 수 있나요?
A. 네, 단일 JSON 객체를 입력하면 자동으로 배열로 감싸서 1행짜리 CSV로 변환합니다. 예를 들어 {"name":"홍길동"}을 입력하면 [{"name":"홍길동"}]과 동일하게 처리됩니다.
Q. 엑셀에서 CSV를 열었을 때 한글이 깨지는 문제는 어떻게 해결하나요?
A. "BOM 추가" 옵션을 활성화하면 UTF-8 BOM(Byte Order Mark)이 파일 앞에 추가되어 엑셀에서 한글이 올바르게 표시됩니다. 이 옵션은 기본적으로 켜져 있으며, Google Sheets에서는 BOM 없이도 정상 표시됩니다.
Q. 중첩 객체 평탄화란 무엇인가요?
A. JSON 데이터에 객체 안에 또 다른 객체가 포함된 경우(예: {"user":{"name":"홍길동","address":{"city":"서울"}}}), 이를 "user.name", "user.address.city"와 같이 점(.) 표기법으로 펼쳐서 1차원 테이블 형태로 만드는 것입니다. CSV는 2차원 테이블 구조이므로 중첩 데이터를 그대로 표현할 수 없어 이 과정이 필요합니다.
Q. 변환한 CSV 데이터가 서버로 전송되나요?
A. 아닙니다. 모든 변환 과정은 사용자의 브라우저(JavaScript)에서 수행되며, 입력한 JSON 데이터는 외부 서버로 전혀 전송되지 않습니다. 민감한 데이터도 안심하고 사용하실 수 있습니다.
Q. 탭 구분자를 선택하면 어떤 장점이 있나요?
A. 탭 구분자(TSV)는 데이터 값 자체에 콤마가 포함된 경우 유용합니다. 또한 탭 구분자 파일은 엑셀에서 더 안정적으로 인식되는 경향이 있으며, 스프레드시트에 바로 붙여넣기 할 때도 컬럼이 자동 분리됩니다.
Q. 배열 값이 포함된 JSON은 어떻게 처리되나요?
A. 평탄화 옵션이 켜져 있으면 배열은 "키.0", "키.1" 형태로 각 요소가 별도 컬럼으로 분리됩니다. 평탄화 옵션이 꺼져 있으면 배열 전체가 JSON 문자열(예: "[1,2,3]")로 하나의 셀에 표시됩니다.