JSON CSV 변환기

JSON 배열을 바로 쓸 수 있는 CSV로 바꾸세요.

브라우저에서 실행됩니다. 입력한 내용은 어디로도 전송되지 않습니다.

JSON을 CSV로 변환하는 방법

  1. 객체로 이루어진 JSON 배열을 붙여넣거나 업로드하세요.
  2. 구분자와 중첩 필드를 펼칠지를 고르세요.
  3. CSV를 복사하거나 파일을 다운로드하세요.

중첩 필드가 펼쳐지는 방식

JSONCSV 열값
{"user":{"name":"Sam"}}user.nameSam
{"tags":["a","b"]}tagsa, b
{"active":true}activetrue

펼치기가 바꾸는 것

설정중첩 객체값의 배열
펼치기 켬필드마다 열 하나(address.city)쉼표로 이어 하나의 셀에
펼치기 끔JSON 텍스트 그대로 한 셀에JSON 텍스트 그대로 한 셀에

깔끔한 CSV를 만드는 팁

  • 열 순서는 알파벳순이 아니라 모든 행에서 필드가 처음 나타난 순서를 따릅니다.
  • 스프레드시트 앱에서 모든 내용이 한 열에 몰려 보인다면 구분자를 쉼표 대신 세미콜론으로 바꿔 다시 다운로드하세요.
  • 우편번호 "00501"처럼 JSON 문자열로 저장된 값은 그 문자열 그대로 CSV에 기록됩니다. 숫자로 취급되는 것은 이미 JSON 숫자인 값뿐입니다.

CSV 형식 참고 사항

  • 필드는 쉼표, 따옴표, 줄바꿈을 포함하는 등 필요할 때만 따옴표로 감싸져 RFC 4180의 올바른 CSV 규칙을 따릅니다.
  • 다운로드 파일은 UTF-8 바이트 순서 표시(BOM)로 시작해 엑셀에서 특수문자가 올바르게 열립니다. BOM 없는 순수 UTF-8을 기대하는 도구도 나머지 부분은 문제없이 읽습니다.

JSON CSV 변환 자주 묻는 질문

어떤 형태의 JSON을 기대하나요?

[{"name":"Sam","age":30}]처럼 객체로 이루어진 배열입니다. 단일 객체는 한 행이 되고, 배열의 배열은 한 행씩 기록됩니다.

중첩된 객체와 배열은 어떻게 되나요?

펼치기가 켜져 있으면 address.city 같은 중첩 필드는 address.city라는 이름의 독립된 열이 됩니다. 단순 값의 목록은 쉼표로 이어져 하나의 셀에 담깁니다.

모든 행이 같은 필드를 가져야 하나요?

아니요. 헤더에는 어느 행에서든 처음 나타난 순서대로 모든 필드가 포함되며, 값이 없으면 빈 칸이 됩니다.

엑셀에서 CSV를 열면 왜 특수문자가 깨지나요?

엑셀은 텍스트 인코딩을 추측합니다. 다운로드되는 파일은 UTF-8 표시로 시작하므로 특수문자와 기호가 올바르게 표시됩니다. 엑셀이 소수점에 쉼표를 쓰는 설정이라면 구분자로 세미콜론을 선택하세요.

null이나 누락된 값은 어떻게 되나요?

null 값이나 어느 행에 없는 필드는 빈 셀이 됩니다. 다른 어떤 행이라도 그 필드를 가지고 있으면 열 자체는 헤더에 계속 나타납니다.

{"data": [...]}처럼 객체로 감싸인 API 응답도 변환할 수 있나요?

data 필드의 내용처럼 배열 부분만 붙여넣으세요. 이 변환기는 감싸는 객체가 아니라 최상위에 객체 배열이나 단일 객체가 있을 것으로 기대합니다.

객체가 아니라 문자열이나 숫자만 있는 JSON 배열도 변환할 수 있나요?

네. 각 값이 열 하나짜리 행 하나가 되므로 ["a", "b"]는 한 행에 값 하나씩 담긴 2행 CSV가 됩니다.

CSV는 CRLF와 LF 중 어떤 줄바꿈을 쓰나요?

행 사이는 CRLF(\r\n)입니다. 이는 RFC 4180의 CSV 관례가 요구하는 방식이며 엑셀 자신이 기록하는 방식이기도 합니다.

관련 도구