JSON to Python 데이터클래스 변환기
JSON 객체를 타입 힌트가 포함된 Python @dataclass 정의로 브라우저에서 변환합니다.
사용법
- 입력 상자에 JSON을 붙여넣거나 입력합니다.
- 필요하면 루트 클래스 이름을 변경합니다(기본값 AutoGenerated).
- 출력 상자에서 생성된 데이터클래스를 복사합니다.
- 클래스 위에 있는 typing 임포트 줄도 함께 가져가세요. 그것이 없으면 데이터클래스가 타입 검사를 통과하지 못합니다.
자세한 설명
펼치기접기
JSON 객체나 배열을 붙여넣으면 타입 힌트가 붙은 Python @dataclass 정의와 그에 맞는 typing 임포트 줄을 바로 얻을 수 있습니다. 중첩된 객체는 그 값을 담고 있던 키의 이름을 딴 별도의 데이터클래스가 되고, 배열은 첫 번째 원소로 타입을 추론하므로 객체 목록은 밋밋한 list가 아니라 List[Item]이 됩니다. 두 가지 경우는 의도적으로 Any가 됩니다. 표본 하나로는 실제 타입을 알 수 없는 JSON null, 그리고 List[Any]가 되는 빈 배열입니다. 구조를 문서 하나에서 추론하므로, 표본에서 우연히 빠져 있거나 null이었던 선택적 필드에는 Optional을 직접 붙여야 합니다. 모든 처리는 브라우저 안에서 이루어지며 JSON은 업로드되지 않습니다.
자주 묻는 질문
숫자는 어떤 타입이 되나요?
정수는 int, 소수점이 있는 숫자는 float로 변환됩니다. 다른 타입이 필요하면 직접 수정하세요.
null이나 빈 배열은 어떻게 처리되나요?
샘플로 타입을 추론할 수 없으므로 null은 Any로, 빈 배열은 List[Any]로 변환됩니다.
중첩 객체는 어떻게 처리되나요?
각 중첩 객체는 자체 @dataclass가 되며, 이를 참조하는 클래스보다 먼저 정의됩니다.
제 JSON이 어딘가로 전송되나요?
아니요. 변환은 전적으로 브라우저에서 이루어지며 아무것도 업로드되지 않습니다.
왜 모든 필드가 필수인가요?
구조를 붙여넣은 문서 하나에서 추론하는데, 그것만으로는 서버가 어떤 키를 이따금 생략하는지 알 수 없기 때문입니다. 해당 필드는 Optional로 감싸고 기본값을 직접 지정하세요.
이 데이터클래스가 데이터를 검증하나요?
아닙니다. 데이터클래스는 생성할 때 넘긴 값을 그대로 받아들입니다. 타입 힌트는 편집기와 타입 검사기를 위한 것이지 실행 시점에 강제되지 않습니다. 잘못된 입력을 거부하는 파싱이 필요하다면 같은 구조를 pydantic에 넘기세요.
관련 도구
JSON to GraphQL 스키마(SDL) 변환기
JSON 객체를 스칼라 매핑이 적용된 GraphQL 타입 정의(SDL)로 브라우저에서 변환합니다.
개발
JSON → TypeScript 인터페이스
JSON 샘플에서 TypeScript 인터페이스를 자동 생성 — 키 이름을 따라 재귀적으로 타입 추론.
개발
.gitignore 생성기
사용하는 언어·프레임워크·에디터·OS를 체크 → 새 리포지토리에 바로 넣을 수 있는 통합 .gitignore.
개발
파이썬 피클 검사기
.pkl 파일을 브라우저에서 디스어셈블합니다. 오프코드 전체, 메모, 복원된 값, 그리고 불러올 때 코드가 실행되는지까지.
개발
Python .pyc 바이트코드 분석기
__pycache__의 .pyc를 브라우저에서 엽니다. 어떤 CPython이 만들었는지, 무효화 방식, 코드 객체 트리와 디스어셈블리를 보여 줍니다.
개발
MIME 타입 조회
확장자로 MIME 타입을 찾거나 그 반대로 조회. 각 타입의 용도 설명.
개발