ZeroTool Workbench
CSV JSON 변환기
CSV와 JSON을 즉시 상호 변환합니다. 따옴표 필드 지원, 헤더 자동 감지. 무료, 브라우저에서 완결.
사용 방법
- CSV → JSON: CSV 데이터를 입력창에 붙여넣고 변환을 클릭합니다.
- JSON → CSV: JSON 객체 배열을 입력창에 붙여넣고 변환을 클릭합니다.
- 결과를 복사하거나 다운로드합니다.
CSV와 JSON에 대하여
CSV는 스프레드시트나 데이터베이스 내보내기에 자주 사용되고, JSON은 API와 웹 앱에서 널리 사용되는 데이터 형식입니다. 두 형식 간 변환은 데이터 처리·분석·마이그레이션 작업에서 자주 필요합니다.
경계 사례: 이 변환기의 동작
빈 필드. 아래 CSV에서 Bob은 email이, 3행은 name이 비어 있습니다.
id,name,email
1,Alice,[email protected]
2,Bob,
3,,[email protected]
기본적으로 빈 필드는 ""가 됩니다. ‘빈 필드 → null’을 체크하면 null이 됩니다.
[
{ "id": 1, "name": "Alice", "email": "[email protected]" },
{ "id": 2, "name": "Bob", "email": null },
{ "id": 3, "name": null, "email": "[email protected]" }
]
타입 추론. ‘숫자 및 불리언 추론’이 체크되어 있으면(기본값), 따옴표 없는 true, false, null(대소문자 무관)은 JSON 리터럴로, 숫자는 JSON 숫자로 바뀝니다. 정보가 사라지지 않도록 세 가지는 문자열로 남습니다: 따옴표로 감싼 필드("42"), 0으로 시작하는 값(007, 0123), JavaScript 숫자로 정확히 표현할 수 없는 큰 정수(2^53 − 1 초과, 예: 긴 주문 번호).
헤더 행. 첫 행은 항상 헤더로 봅니다. 헤더가 없는 CSV는 헤더 행을 먼저 추가하세요. 같은 이름의 열이 두 개면 뒤 열이 앞 열을 덮어쓰므로 먼저 이름을 바꾸세요. 헤더보다 많은 필드는 버려지고, 모자란 필드는 빈 값으로 처리됩니다.
구분자. 쉼표만 인식합니다. 세미콜론이나 탭으로 구분한 파일은 먼저 쉼표 구분으로 바꾸세요.
JSON → CSV. 입력은 객체 배열이어야 합니다. 열은 어느 객체에든 나오는 모든 키이며, 처음 나온 순서대로 놓입니다. 키가 없는 행은 빈 칸이 됩니다. 중첩 객체는 user.name 같은 점 경로 열로 펼치고(pandas json_normalize와 같은 열 이름), 배열과 빈 객체는 JSON 텍스트로, null은 빈 칸으로 씁니다.
[
{ "id": 1, "user": { "name": "Alice", "city": "London" }, "tags": ["admin", "ops"], "manager": null },
{ "id": 2, "user": { "name": "Bob" } }
]
id,user.name,user.city,tags,manager
1,Alice,London,"[""admin"",""ops""]",
2,Bob,,,
이 CSV를 다시 JSON으로 바꿔도 중첩은 복원되지 않습니다. user.name은 하나의 키로, 배열은 문자열로 남습니다.
FAQ
쉼표 이외의 구분자도 사용할 수 있습니까?
아니요. 구분자는 쉼표만 인식합니다. 세미콜론이나 탭(TSV)으로 구분된 파일은 먼저 쉼표 구분으로 바꾸세요.
따옴표로 감싼 필드를 지원합니까?
네. RFC 4180 준수 따옴표 처리를 지원하며, 필드 내 쉼표나 줄바꿈도 올바르게 처리됩니다.
JSON에서 CSV로 변환할 수 있습니까?
네. 객체 배열이라면 모든 객체의 키를 헤더 행으로 삼아 CSV를 생성합니다. 중첩 객체는 user.name 같은 점 경로 열로 펼치고, 배열은 JSON 텍스트로 씁니다.
데이터가 서버로 전송됩니까?
아니요. 모든 변환 처리는 브라우저 내에서 완결됩니다.