본문 바로가기

로딩 중...


JSON → DTO 변환기란 무엇인가요?

JSON → DTO 변환기는 API 응답이나 설정 파일의 JSON 데이터를 Python(pydantic), Java, Kotlin, C#의 DTO(Data Transfer Object) 클래스로 자동 변환하는 무료 온라인 도구입니다. 키 이름과 값의 타입을 분석해 필드 타입을 추론하고, 중첩 객체는 별도 클래스로, 배열은 제네릭 리스트로 매핑합니다. JSON과 DTO 두 패널을 모두 편집할 수 있어, 어느 쪽을 수정하든 반대쪽이 실시간으로 동기화됩니다.

JSON to DTO 변환이 필요한 상황

백엔드 모델 클래스 작성: 프론트엔드나 외부 서비스에서 받은 JSON 응답을 그대로 받아 처리할 서버 측 DTO/모델 클래스를 손으로 옮겨 적는 대신, 붙여넣기 한 번으로 생성합니다.

API 연동 코드 초안: 문서에 적힌 예시 JSON을 Kotlin data class나 C# POCO로 바꿔 직렬화/역직렬화 코드의 출발점으로 삼을 때 활용합니다.

언어 간 모델 이식: 이미 작성된 DTO를 반대 방향(DTO → JSON 샘플)으로 변환해 구조를 확인하거나, 한 언어의 클래스를 다른 언어로 다시 만들 때 중간 다리로 사용합니다.

타입 추론 규칙

JSON 값PythonJavaKotlinC#
"text"strStringStringstring
42intlongLonglong
4.7floatdoubleDoubledouble
trueboolbooleanBooleanbool
[ ... ]List[T]List<T>List<T>List<T>
null·일부 누락Optional[...] = None박싱 타입T? = nullT?

중첩 객체는 자동으로 별도 클래스로 분리되고, 같은 형태(shape)의 객체는 하나의 클래스로 재사용됩니다. 객체 배열은 모든 요소의 키를 병합하며, 일부 객체에만 있는 키는 선택 필드로 처리됩니다.

사용 방법

  1. 왼쪽 JSON 패널에 데이터를 붙여넣거나 샘플 버튼으로 예제를 불러옵니다.
  2. 오른쪽 DTO 패널 상단에서 Python / Java / Kotlin / C# 중 출력 언어를 선택합니다.
  3. 생성된 DTO 클래스를 복사 버튼으로 클립보드에 저장합니다.
  4. 반대로 DTO 코드를 직접 입력·수정하면 그 구조에 맞는 JSON 샘플이 왼쪽에 생성됩니다.

루트 클래스 이름은 JSON 패널의 "루트 이름" 입력으로 바꿀 수 있습니다.

보안 및 개인정보 보호

모든 변환은 브라우저 내에서만 이루어집니다. 입력한 JSON이나 DTO 코드는 서버로 전송되지 않으므로, 사내 API 스펙이나 민감한 데이터 구조도 안전하게 변환할 수 있습니다.