DevTools
모든 도구

JSON 변환기

JSON을 YAML, CSV, TypeScript 타입으로 변환하고 YAML을 JSON으로 되돌립니다.

JSON 변환기(YAML · CSV · TypeScript)란?

JSON 변환기는 JSON을 다른 형식으로, 또는 다른 형식을 JSON으로 바꿔 주는 도구입니다. JSON ↔ YAML 양방향 변환, 객체 배열을 표 형태의 CSV로 변환, 그리고 JSON 구조로부터 TypeScript 타입(interface)을 자동 생성하는 네 가지 모드를 제공합니다. 설정 파일 포맷 전환, 데이터 내보내기, 타입 정의 초안 작성에 유용합니다.

TypeScript 변환은 단순히 최상위 타입만 만드는 것이 아니라 중첩된 객체를 별도 인터페이스로 추출하고, 객체 배열은 모든 요소의 키를 병합해 하나의 인터페이스로 만들며 일부 요소에만 있는 키는 optional(?)로 표시합니다. CSV 변환은 모든 행의 키 합집합을 헤더로 삼고, 중첩된 객체나 배열 값은 JSON 문자열로 셀에 넣습니다.

YAML 파싱과 생성에는 검증된 yaml 라이브러리를 사용하며, 모든 변환은 여러분의 브라우저 안에서만 수행됩니다. 입력한 데이터는 서버로 전송되지 않으므로 실제 설정 파일이나 데이터를 그대로 붙여넣어도 안전합니다.

사용 방법

  1. 상단 탭에서 변환 방향(JSON → YAML, YAML → JSON, JSON → CSV, JSON → TS 타입)을 선택합니다.
  2. 선택한 방향에 맞는 입력을 붙여넣습니다. JSON → CSV는 객체들의 배열([{...}, {...}])을 입력해야 합니다.
  3. '변환' 버튼을 누르면 결과가 표시됩니다. 복사 버튼으로 결과를 가져오고, 변환이 실패하면 원인을 담은 오류 메시지가 나타납니다.

자주 묻는 질문

JSON → CSV에 어떤 형태의 데이터를 넣어야 하나요?
비어 있지 않은 '객체들의 배열'을 넣어야 합니다. 예를 들어 [{"id":1,"name":"kim"},{"id":2,"name":"lee"}] 형태입니다. 배열이 아니거나 요소가 객체가 아니면 오류가 납니다. 각 객체의 키가 CSV 헤더(열)가 됩니다.
CSV로 바꿀 때 중첩된 객체·배열은 어떻게 되나요?
CSV는 평면적인 표 구조라 중첩 값을 직접 담을 수 없습니다. 그래서 중첩 객체나 배열 값은 JSON 문자열로 직렬화해 해당 셀에 넣습니다. 쉼표, 큰따옴표, 줄바꿈이 포함된 값은 CSV 규칙에 맞게 자동으로 따옴표 처리됩니다.
생성된 TypeScript 타입은 얼마나 정확한가요?
입력한 JSON 샘플을 기준으로 타입을 추론합니다. 중첩 객체는 별도 interface로 뽑고, 객체 배열은 요소들의 키를 병합해 일부에만 있는 키를 optional(?)로 표시합니다. 다만 빈 배열은 unknown[]로, null 값은 null 타입으로 나오므로, 실제 스키마를 반영하려면 결과를 보완하는 것이 좋습니다.
YAML ↔ JSON 변환에서 주의할 점이 있나요?
YAML은 주석과 앵커 같은 기능을 지원하지만 JSON으로 바꾸면 이런 정보는 사라집니다. 또 YAML은 들여쓰기로 구조를 표현하므로 들여쓰기가 어긋나면 파싱 오류가 납니다. 변환은 값과 구조를 보존하며, 문법이 잘못되면 오류 메시지로 원인을 알려 줍니다.