CSV를 JSON으로

CSV는 스프레드시트나 데이터베이스 내보내기에서 얻게 되는 형식이며, JSON은 API, 자바스크립트 프론트엔드 및 최신 설정 파일에서 요구하는 형식입니다. 이 변환기는 헤더 행이 있는 CSV를 입력받아 각 헤더를 키로, 각 데이터 행을 하나의 객체로 만드는 JSON 객체 배열을 생성합니다. 출력 결과는 이스케이프되지 않은 유니코드 문자와 슬래시로 보기 좋게 정렬되어 출력되므로, 바로 Postman 요청이나 JS 파일에 붙여넣을 수 있습니다.

CSV가 JSON으로 변환되는 과정

  1. 1

    CSV 파일을 붙여넣으세요

    최소한 헤더 행과 하나의 데이터 행을 포함해야 하며, 그렇지 않을 경우 도구는 오류를 반환합니다.

  2. 2

    헤더 행은 키를 설정합니다

    1행은 `str_getcsv`로 파싱되며, 열 이름들은 공백이 제거된 후 JSON 키로 변환됩니다.

  3. 3

    각 데이터 행은 하나의 객체로 변합니다.

    값들은 위치에 따라 헤더와 일치하도록 정렬됩니다. 누락된 셀은 빈 문자열로 표시됩니다.

  4. 4

    아름다운 JSON을 복사하세요

    JSON_PRETTY_PRINT, JSON_UNESCAPED_UNICODE 및 JSON_UNESCAPED_SLASHES 형식으로 포맷하여 모든 편집기에서 원활하게 표시되도록 구성했습니다.

전환 과정에서 데이터 타입과 특수한 경우 처리 방식

CSV는 본질적으로 유형이 없으며, 모든 셀은 문자열입니다. 반면 JSON은 명확한 유형을 가집니다. 변환기는 안전한 방식을 택하여 모든 값을 JSON 문자열로 유지합니다. 따라서 숫자가 자기도 모르게 텍스트로 바뀌거나, 0으로 시작하는 ID가 앞자리의 0을 잃어버리는 일은 결코 발생하지 않습니다.

예시

CSV 입력 파일:

name,age,email
Alice,30,alice@example.com
Bob,25,bob@example.com

출력 JSON:

[
  { "name": "Alice", "age": "30", "email": "alice@example.com" },
  { "name": "Bob",   "age": "25", "email": "bob@example.com"   }
]

age는 숫자가 아니라 문자열입니다. 숫자형 데이터가 필요하다면 자바스크립트에서 Number(row.age)로 후처리하거나, 타입 설정 옵션이 더 많은 CSV to JSON 변환기를 사용하세요.

예외 상황

상황 동작
빈 데이터 행 조용히 건너뛰며, 출력 결과에 빈 객체가 포함되지 않습니다.
행이 헤더보다 짧은 경우 누락된 필드는 빈 문자열로 출력됩니다.
행이 헤더보다 긴 경우 추가 셀은 삭제됩니다.
중복된 헤더 이름 이후의 키가 결과 객체 내에서 이전 키를 덮어씁니다.
주변에 공백이 있는 헤더 키로 사용되기 전에 공백이 제거됩니다.

다른 CSV to JSON 도구를 선택해야 할 때

이 변환기는 간단하고 직관적이며, 합리적인 기본값을 제공하고 별도의 옵션이 없습니다. 쉼표가 아닌 구분 기호를 사용해야 하거나, 헤더 행을 비활성화하거나, 압축된 출력과 보기 좋은 출력을 전환해야 할 때는 CSV to JSON 변환기를 사용하세요.

자주 묻는 질문

이 간단한 변환기에서는 불가능합니다. 모든 값은 JSON 문자열로 출력되며, 00123와 같은 ID나 1.50과 같은 소수도 표시된 그대로 정확하게 유지됩니다. 사용하는 쪽에서 Number() 또는 parseFloat()로 후처리하거나, 추가 옵션이 필요하다면 다른 CSV to JSON 변환기를 사용하세요.

이 도구는 헤더 이름을 JSON 키로 사용하므로 헤더 행이 하나 필요합니다. 파일에 헤더가 없는 경우 상단에 col1,col2,col3와 같은 행을 추가하거나, 헤더를 비활성화할 수 있는 옵션이 있는 CSV to JSON 변환기로 전환하세요.

유니코드 문자는 이스케이프되지 않은 상태로 유지됩니다(악센트 기호, CJK 문자, 이모지 등은 모두 출력 결과에 그대로 표시됩니다). 슬래시(/)도 이스케이프되지 않으므로 URL이 자연스럽게 표시됩니다. 값 안의 큰따옴표는 \" 형태로 올바르게 이스케이프됩니다.

네. JSON을 생성하기 위해 CSV가 당사 서버로 전송됩니다. 저장되지 않으며 페이지 링크에도 추가되지 않습니다.

관련 도구