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 값 | Python | Java | Kotlin | C# |
|---|---|---|---|---|
"text" | str | String | String | string |
42 | int | long | Long | long |
4.7 | float | double | Double | double |
true | bool | boolean | Boolean | bool |
[ ... ] | List[T] | List<T> | List<T> | List<T> |
null·일부 누락 | Optional[...] = None | 박싱 타입 | T? = null | T? |
중첩 객체는 자동으로 별도 클래스로 분리되고, 같은 형태(shape)의 객체는 하나의 클래스로 재사용됩니다. 객체 배열은 모든 요소의 키를 병합하며, 일부 객체에만 있는 키는 선택 필드로 처리됩니다.
사용 방법
- 왼쪽 JSON 패널에 데이터를 붙여넣거나 샘플 버튼으로 예제를 불러옵니다.
- 오른쪽 DTO 패널 상단에서 Python / Java / Kotlin / C# 중 출력 언어를 선택합니다.
- 생성된 DTO 클래스를 복사 버튼으로 클립보드에 저장합니다.
- 반대로 DTO 코드를 직접 입력·수정하면 그 구조에 맞는 JSON 샘플이 왼쪽에 생성됩니다.
루트 클래스 이름은 JSON 패널의 "루트 이름" 입력으로 바꿀 수 있습니다.
보안 및 개인정보 보호
모든 변환은 브라우저 내에서만 이루어집니다. 입력한 JSON이나 DTO 코드는 서버로 전송되지 않으므로, 사내 API 스펙이나 민감한 데이터 구조도 안전하게 변환할 수 있습니다.