본문으로 건너뛰기

JSON ↔ CSV 변환기

JSON ↔ CSV 변환기

CSV/TSV와 JSON 간 양방향 변환을 지원합니다. 구분자 자동 감지, 헤더 행 매핑, 필드 공백 제거, 빈 줄 건너뛰기 기능을 제공합니다. 데이터 가져오기/내보내기, 스프레드시트 처리, API 페이로드 준비에 유용합니다.

JSON ↔ CSV 변환기

🚀 빠른 시작

  • 오른쪽 CSV 편집기에 CSV/TSV 데이터를 붙여넣거나 입력하면 왼쪽 JSON이 자동으로 동기화됩니다.
  • 왼쪽의 JSON 편집기에서 JSON을 입력할 수도 있으며, 오른쪽의 CSV도 자동으로 동기화됩니다.
  • 구분 기호는 기본적으로 "자동"으로 설정됩니다. 도구는 첫 번째 행을 검사하고 쉼표, 탭, 세미콜론 또는 세로 막대(|)를 감지합니다.
  • "헤더 행 사용"을 켜면 CSV 첫 줄이 JSON 객체의 키 이름으로 사용됩니다. 끄면 2차원 배열로 변환됩니다.
  • 지저분한 CSV 데이터를 정리하려면 "필드 자르기" 및 "빈 줄 건너뛰기"를 사용하세요.
  • 각 편집기는 별도로 다운로드할 수 있습니다. JSON 측에서는 .json 파일을 다운로드하고, CSV 측에서는 현재 구분 기호를 기반으로 .csv 또는 .tsv 파일을 다운로드합니다.

📌 자주 쓰는 활용 사례

  • Excel에서 JSON으로: Excel에서 탭으로 구분된 셀을 CSV 창으로 복사하고 즉시 JSON 개체 배열로 변환합니다.
  • 스프레드시트에 대한 API 응답: Excel 또는 Google 스프레드시트에서 분석할 수 있도록 JSON 응답을 CSV로 변환합니다.
  • 데이터베이스 가져오기 준비: 일괄 API 가져오기를 위해 CSV 데이터세트를 JSON으로 변환합니다.
  • 로그 분석: jq와 같은 도구를 사용하여 구조화된 쿼리를 위해 CSV 로그를 JSON으로 변환합니다.
  • 구성 마이그레이션: CSV 매핑 테이블과 JSON 구성 파일 간을 전환합니다.
  • 데이터 정리: 필드 자르기 및 빈 줄 건너뛰기를 사용하여 내보낸 데이터를 빠르게 정리합니다.

🧭 활용 팁

  • Excel에서 붙여넣은 데이터는 일반적으로 탭으로 구분되며 올바르게 감지됩니다. 감지가 잘못된 경우 구분 기호를 수동으로 선택하십시오.
  • "헤더 행 사용"이 켜져 있으면 첫 줄은 데이터가 아니라 열 이름으로 처리됩니다. CSV에 헤더가 없다면 첫 데이터 행 손실을 막기 위해 이 옵션을 끄세요.
  • 중복된 헤더 이름이 존재하는 경우 JSON 키를 고유하게 유지하기 위해 접미사가 자동으로 추가됩니다(예: name, name_2).
  • JSON → CSV는 플랫 객체 배열에서 가장 잘 작동합니다. 중첩된 개체/배열은 셀에서 JSON 문자열로 직렬화됩니다.
  • 구분 기호, 줄 바꿈 또는 큰따옴표가 포함된 필드는 CSV 규칙에 따라 자동으로 인용되고 이스케이프됩니다.

⚠️ 제한 사항 및 호환성

  • CSV는 단순 테이블 형식이며 기본적으로 중첩된 구조를 나타낼 수 없습니다. 중첩된 JSON 개체/배열은 문자열로 직렬화되며 역변환 시 완전히 복원될 수 없습니다.
  • CSV는 값을 텍스트로 저장합니다. JSON → CSV → JSON 왕복 후에 숫자와 부울이 문자열로 돌아올 수 있습니다.
  • UTF-8 BOM(\uFEFF)은 자동으로 제거됩니다. 다른 인코딩(예: GBK 또는 Shift-JIS)은 지원되지 않습니다. 먼저 UTF-8로 변환하세요.
  • JavaScript의 JSON과 마찬가지로 이 도구는 IEEE 754 제한을 따릅니다. 53비트 안전 범위를 벗어나는 정수는 정밀도가 떨어질 수 있습니다.

🔒 개인정보 보호 및 보안

  • 모든 처리는 귀하의 브라우저에서 로컬로 이루어집니다. 귀하의 데이터는 귀하의 장치를 떠나지 않습니다.

❓ 자주 묻는 질문

CSV란 무엇이며 TSV 및 Excel과 어떤 관련이 있나요?

CSV(쉼표로 구분된 값)는 각 줄이 레코드이고 필드가 쉼표로 구분되는 일반 텍스트 테이블 형식입니다. TSV는 탭으로 구분된 변형입니다. Excel에서는 두 형식을 모두 열고 내보낼 수 있지만 .xlsx 자체는 이진 통합 문서 형식입니다. 이 도구는 .xlsx 파일이 아닌 일반 텍스트 CSV/TSV에서 작동합니다. 역사적으로 CSV에는 단일한 엄격한 표준이 없었습니다. 2005년에 RFC 4180은 공통 규칙을 정의했습니다. 즉, 필드는 쉼표로 구분되고, 특수 문자가 있는 필드는 큰따옴표로 묶이고, 인용된 필드 안의 따옴표는 두 개의 큰따옴표로 이스케이프됩니다. 다양한 앱은 여전히 ​​작은 차이로 CSV를 구현하므로 가져오기/내보내기 문제가 흔히 발생합니다.

"자동" 구분 기호 감지는 어떻게 작동하나요? 틀릴 수도 있나요?

도구는 CSV 첫 줄에서 따옴표 바깥에 있는 쉼표, 탭, 세미콜론, 세로 막대(|)의 출현 횟수를 세고, 가장 많이 나온 문자를 구분자로 선택합니다. 대부분의 표준 CSV/TSV 데이터에서는 정확하게 동작합니다. 단, 열이 하나뿐이거나(구분자 없음) 필드 값 자체에 구분자 문자가 많이 포함된 경우 오판할 수 있습니다. 이런 경우 구분자를 수동으로 선택하세요.

'헤더 행 사용'을 켜거나 끄면 무엇이 바뀌나요?

활성화하면 CSV 첫 줄이 열 이름으로 처리되고, 각 데이터 행은 해당 열 이름을 키로 하는 JSON 객체로 변환됩니다(예: {"name": "Alice", "age": "30"}). 비활성화하면 첫 줄을 포함한 모든 행이 데이터로 처리되어 2차원 배열로 변환됩니다(예: [["name", "age"], ["Alice", "30"]]). JSON → CSV 변환에서는 헤더를 켜면 객체 키가 CSV 첫 줄에 출력됩니다.

내 JSON에는 중첩된 개체가 포함되어 있습니다. CSV 후에 손실 없이 다시 변환할 수 있나요?

완전히는 아닙니다. JSON → CSV 중에 중첩된 개체/배열은 JSON.stringify를 사용하여 셀 텍스트로 직렬화됩니다. CSV → JSON 중에 해당 값은 문자열로 유지되며 자동으로 객체로 구문 분석되지 않습니다. 구조적 충실도가 필요한 경우 변환 전에 JSON을 평면화하세요.

Excel에서 복사한 데이터를 직접 변환할 수 있나요?

예. Excel에서 셀 범위를 복사하여 CSV 편집기에 붙여넣으면 일반적으로 데이터가 탭으로 구분됩니다. 자동 감지는 이를 TSV로 식별하고 올바르게 변환합니다. 쉼표로 구분된 .csv를 다운로드하려면 다운로드하기 전에 구분 기호를 쉼표로 전환하세요.

CSV 필드에서 따옴표와 줄 바꿈은 어떻게 처리됩니까?

RFC 4180 규칙을 따릅니다. 필드에 구분자, 줄바꿈, 큰따옴표가 포함되면 필드 전체를 큰따옴표로 감싸고, 필드 내부 큰따옴표는 연속된 두 개의 큰따옴표("")로 이스케이프합니다. 입력 파싱과 출력 생성 모두 이 규칙을 따릅니다. 따옴표가 닫히지 않으면 "CSV 따옴표가 닫히지 않았습니다." 오류가 표시됩니다.