KO
내 도구

JSON 파이썬 클래스 변환기

JSON을 붙여 넣으면 타입이 지정된 파이썬 dataclass 또는 Pydantic v2 모델을 만들어 줍니다. 중첩 클래스, 선택 필드, snake_case 이름, from_dict 헬퍼를 지원합니다.

중첩 객체를 만들고, 이름이 바뀐 키를 JSON 원래 이름으로 되돌려 매핑합니다.
파이썬 코드
클래스 수
3
필드 수
16

Python 3.10 이상이 필요합니다(list[...]와 X | None 사용). 클래스는 사용되기 전에 정의되도록 순서대로 나열됩니다.

타입 추론은 JavaScript 숫자를 사용하므로 정수 샘플은 ±9,007,199,254,740,991 범위 안이어야 합니다. 더 큰 식별자나 정확한 소수 값은 문자열로 쓰세요.

사용법: obj = User.from_dict(json.loads(text))

내 도구 →
광고

JSON 샘플로 타입이 지정된 파이썬 클래스를 만듭니다. 중첩 객체, 리스트, null 가능 필드, 원래 키를 가리키는 별칭을 지원합니다. 표준 라이브러리의 dataclass(선택 사항인 from_dict() 헬퍼 포함)나, 실행 중 검증이 가능한 Pydantic v2 모델 중에서 고를 수 있습니다.

사용 방법

  1. JSON 객체 또는 객체 목록을 붙여 넣습니다. 샘플이 여러 개면 선택 필드를 찾아냅니다.
  2. 루트 클래스의 이름을 입력합니다.
  3. dataclass와 Pydantic 중에서 고르고, 키를 snake_case로 바꿀지 선택합니다.
  4. 코드를 프로젝트에 복사합니다(Python 3.10 이상).

계산식

string → str · 정수 → int · 소수 → float (int와 float이 섞이면 float) · true/false → bool · 객체 → 새 클래스 · 배열 → list[항목 타입] · null → | None · 섞인 타입 → Any

없는 키는 기본값 None인 선택 필드가 되며, dataclass에서는 기본값이 있는 필드를 뒤에 둡니다. 중첩 클래스 이름은 키에서 만들고, 리스트 이름은 단수형으로 바꿉니다. 파생된 이름과 필드가 모두 같을 때만 클래스 정의를 공유합니다. 정수 샘플은 ±9,007,199,254,740,991 범위 안이어야 합니다. JavaScript 숫자 추론은 유한하지 않은 값과 사라지는 소수 부분을 거부하므로 큰 식별자나 정확한 소수는 문자열로 쓰세요.

예시

기본 샘플은 클래스 3개와 필드 16개를 만듭니다. Address, Order, User입니다. "total": 59.9와 "total": 12는 total: float로 합쳐지고, couponCode는 주문 하나에만 있어 coupon_code: str | None = None이 되며, "lastLogin": null은 null만으로는 타입을 알 수 없어 last_login: Any = None이 됩니다. from_dict()에서는 orders를 [Order.from_dict(x) for x in d["orders"]]로 만듭니다. Pydantic으로 바꾸면 이름이 바뀐 키마다 대신 Field(alias="userName")이 붙습니다.

자주 묻는 질문

dataclass와 Pydantic 중 무엇이 좋은가요?

dataclass는 내장이고 빠르지만 검증이나 타입 변환은 하지 않습니다. Pydantic은 타입을 검사하고 "12" 같은 호환 값을 12로 바꾸며, model_validate_json()으로 JSON 문자열에서 중첩 객체까지 바로 파싱합니다. API 경계에는 Pydantic, 내부 데이터에는 dataclass가 어울립니다.

샘플에는 12라고 되어 있는데 왜 float인가요?

그 키의 값 중 하나라도 소수 부분이 있으면 필드는 float이 됩니다. JSON의 12.0은 정수 12로 읽히므로, 필드가 소수일 수 있다면 12.5처럼 실제 소수가 든 샘플을 넣으세요.

"first-name"이나 "class" 같은 키는 어떻게 되나요?

올바른 이름으로 바뀝니다. first-name은 first_name, class는 class_가 됩니다. from_dict()는 여전히 원래 키를 읽고, Pydantic에서는 원래 키가 별칭이 됩니다.

최상위에 목록을 붙여 넣어도 되나요?

네. [ {…}, {…} ]의 항목들이 하나의 루트 클래스로 합쳐지며, 결과 아래의 안내에 목록 전체를 파싱하는 방법이 나옵니다.

출처

최종 업데이트:

인용·퍼가기
APA

kakaoCalc. (2026, November 8). JSON 파이썬 클래스 변환기. https://kakao.mobile/ko/tools/json-to-python-class-tool/

MLA

“JSON 파이썬 클래스 변환기.” kakaoCalc, 8 Nov. 2026, kakao.mobile/ko/tools/json-to-python-class-tool/.

광고