JSON을 Python로
JSON에서 Python dataclass, Pydantic 모델, TypedDict 생성
JSON을 붙여넣거나 예제를 불러오면 Python 코드를 생성합니다.
JSON to Python이 생성하는 것
JSON to Python은 API 응답이나 모든 JSON 샘플을 Python 타입 정의로 바꿉니다. Dataclass 모드는 @dataclass 클래스와 from_dict 클래스 메서드를 작성합니다. Root(**data)로는 중첩 dataclass를 만들거나 이름이 바뀐 키를 매핑할 수 없기 때문입니다. Pydantic v2 모드는 BaseModel 클래스를 작성하고 이름이 바뀌는 곳에만 Field(alias="original-key")와 populate_by_name을 추가합니다. TypedDict 모드는 JSON 키를 그대로 유지하며, 키가 유효한 식별자가 아니면 함수형 TypedDict("Name", {...}) 문법으로 전환합니다.
사용 방법
- 1.JSON을 붙여넣거나, .json 파일을 업로드하거나 끌어다 놓거나, 예제 중 하나를 불러옵니다.
- 2.루트 타입 이름을 정합니다. JSON 루트가 객체 배열이면 이 이름이 항목 타입이 되고 RootList가 별칭으로 추가됩니다.
- 3.Dataclass, Pydantic v2, TypedDict 중에서 고르고 속성에 snake_case를 쓸지 정합니다.
- 4.출력 아래의 알림을 읽은 뒤 코드를 복사하거나 models.py를 다운로드합니다.
타입 추론 방식
- •첫 항목만이 아니라 배열의 모든 항목을 검사하며, 같은 배열 안의 객체는 병합됩니다.
- •일부 객체에 없는 키는 선택 항목이고, 가끔 null인 키는 nullable입니다. 두 경우는 구분됩니다.
- •같은 위치에 1과 2.5가 있으면 소수로 확장되고, 그 밖의 혼합은 알림으로 표시됩니다.
- •빈 배열과 항상 null인 값은 타입 근거가 없으므로 범용 타입을 사용하고 이유를 알림으로 설명합니다.
- •타입 매핑: 문자열 → str, 정수 → int, 소수 → float, 불리언 → bool, 배열 → list[T], 객체 → 중첩 클래스, 알 수 없음 → Any, null 발견 → T | None.
- •예약어는 class_가 되고, 숫자로 시작하는 키에는 field_ 접두사가 붙으며, 겹치는 이름에는 _2가 붙습니다.
제한과 개인정보 보호
샘플은 한 시점의 데이터 모양일 뿐 전체 API 계약이 아닙니다. 코드를 사용하기 전에 선택 필드, 범용 타입, 숫자 범위를 확인하세요. 입력은 5 MB와 중첩 256단계로 제한되며, 2 MB부터는 생성 버튼을 눌러야 생성됩니다. 모든 처리는 브라우저에서 이루어지고 JSON은 업로드되지 않습니다. 생성된 코드는 Python 3.10+ 유니온 문법을 사용하며, NotRequired를 쓰는 TypedDict 모드에는 Python 3.11 또는 typing_extensions가 필요합니다.
