작업 히스토리 (History)
기록된 작업이 없습니다.

로그인하시면 작업 기록을 무제한으로 저장하고 여러 기기에서 동기화하여 사용할 수 있습니다.

CONVERSIONJSONCSV

JSON ↔ CSV 변환기

JSON 배열과 CSV 텍스트 형식 간에 상호 변환합니다.

INPUT (JSON)
0 chars
OUTPUT (CSV)
0 chars
Delimiter:

도구 설명 및 사용 방법

구조화된 계층적 JSON 객체 데이터와 표 형식의 CSV 텍스트 데이터 사이의 변환을 신속히 지원합니다. 데이터베이스 마이그레이션이나 엑셀 데이터를 애플리케이션 데이터로 주입할 때 유용하게 쓰입니다.

사용 단계

1
상단 탭에서 "JSON to CSV" 또는 "CSV to JSON" 변환 모드를 고릅니다.
2
JSON 배열 형식 또는 CSV 텍스트 포맷의 데이터를 좌측 입력란에 주입합니다.
3
구분 기호(쉼표, 세미콜론 등)를 설정하여 파싱 옵션을 정밀 지정합니다.
4
"복사" 또는 "다운로드" 버튼을 눌러 결과 데이터를 즉시 파일로 생성하거나 클립보드에 적재합니다.

작동 원리 및 상세 설명

JSON ↔ CSV 변환기는 객체 구조 파싱 알고리즘에 기초합니다. JSON to CSV 과정은 입력 배열 내 모든 객체의 최상위 키 집합을 모아 유니크한 CSV 칼럼 열을 추출한 뒤, 각 레코드를 루프하면서 값을 맵핑합니다. 필요시 복합 중첩 객체를 단일 차원 키 맵으로 평탄화(Flatten)합니다. 역변환인 CSV to JSON은 지정된 구분자(쉼표, 탭 등)와 따옴표 규칙을 분석해 행 단위로 분할(CSV Tokenizer)한 뒤, 헤더 명칭에 맞추어 유효한 JSON 배열 문자열 형태로 조립해 냅니다.

자주 묻는 질문 (FAQ)

중첩된 구조의 복잡한 JSON도 CSV로 변환할 수 있나요?
예, 깊게 중첩된 JSON 구조는 온점(.) 기호 조합 방식을 적용해 컬럼 헤더(예: user.address.city)로 납작하게 평면화(Flatten) 처리하여 테이블 형태로 안전하게 나열해 줍니다.
CSV 변환 결과에서 한글이 깨지는 현상이 발생합니다.
엑셀(Excel)에서 CSV를 열 때 UTF-8 코딩을 인지하지 못해 깨질 수 있습니다. 본 변환기의 CSV 다운로드 기능은 파일 앞에 UTF-8 BOM 바이트 헤더를 추가 삽입해 주어 엑셀에서도 한글 깨짐 없이 곧장 로드됩니다.

코드 사용 예시

JSON 배열을 CSV 문자열로 변환하는 JavaScript 코드 예시
javascript
function jsonToCsv(jsonArray, delimiter = ',') {
  if (jsonArray.length === 0) return '';
  const headers = Object.keys(jsonArray[0]);
  const csvRows = [];
  
  // 헤더 추가
  csvRows.push(headers.join(delimiter));
  
  // 데이터 행 추가
  for (const row of jsonArray) {
    const values = headers.map(header => {
      const val = row[header] === null ? '' : row[header];
      // 값에 쉼표나 개행문자가 포함되면 따옴표로 감싸기
      const escaped = ('' + val).replace(/"/g, '"');
      return escaped.includes(delimiter) || escaped.includes('
') ? `"${escaped}"` : escaped;
    });
    csvRows.push(values.join(delimiter));
  }
  return csvRows.join('
');
}

특수기호 및 쉼표(delimiter) 이스케이프가 가미된 경량 JSON to CSV 파서 스크립트입니다.