사용법
- 왼쪽 칸에 변환할 JSON을 붙여넣습니다(API 응답, 설정 파일 등).
- 오른쪽 위 탭에서 TypeScript · Python · Go 중 원하는 언어를 고릅니다.
- 변환된 타입 코드를 복사해 프로젝트에 붙여넣습니다.
활용 팁
- 실제 값이 든 예시로: 모든 필드에 대표 값이 채워진 JSON으로 변환하면 추론 정확도가 높아집니다. null이나 빈 배열은 타입을 알 수 없어 느슨하게 처리됩니다.
- 이름은 키에서: 중첩 객체의 타입 이름은 키 이름을 바탕으로 자동 생성됩니다. 결과에서 의미에 맞게 이름만 바꿔 주면 바로 쓸 수 있습니다.
- 추론은 출발점: 정수/실수 구분이나 선택적 필드(optional)는 자동 추론의 한계가 있으니, 생성된 타입을 기준으로 필요한 부분만 손봐 마무리하세요.
자주 묻는 질문
Q. 중첩된 객체와 배열도 변환되나요?
네. 객체 안의 객체는 각각 별도의 타입(인터페이스·클래스·구조체)으로 만들어 연결하고, 배열은 첫 번째 요소의 타입을 보고 원소 타입을 추론합니다. 키 이름을 바탕으로 중첩 타입의 이름을 자동으로 지어 줍니다.
Q. json-to-java-dto 도구와 무엇이 다른가요?
JSON → Java DTO는 자바 클래스(Lombok 스타일)를 만들어 주는 도구입니다. 이 도구는 같은 아이디어를 확장해 TypeScript interface, Python dataclass, Go struct 세 가지로 출력합니다. 사용하는 언어에 맞춰 골라 쓰면 됩니다.
Q. 빈 배열이나 null 값은 어떻게 처리하나요?
값이 null이거나 빈 배열이면 타입을 확정할 수 없어 가장 느슨한 타입(TypeScript any, Python Any, Go interface{})으로 둡니다. 정확한 타입이 필요하면 실제 값이 들어 있는 예시 JSON으로 변환한 뒤, 결과에서 직접 다듬는 것을 권합니다.