JSON을 Python으로 변환
JSON 데이터를 Python 코드로 변환합니다
JSON 입력
Python 출력
JSON을 Python으로란?
Python은 구조화된 데이터를 위해 dict와 사용자 지정 클래스를 사용합니다. json.loads()를 사용하면 dict를 얻습니다. 동적 접근에는 이것이 작동하지만 타입이 지정된 접근, IDE 지원 및 검증을 위해 종종 dataclass 또는 일반 클래스가 필요합니다. JSON 사양은 객체, 배열, 문자열, 숫자, 불리언을 정의하지만 Python은 각 중첩 구조에 대한 명시적 클래스 정의가 필요합니다.
이 도구는 JSON에서 Python 클래스 정의를 생성합니다. 구성 패널에서 Dataclass, Typing, Nullable을 활성화하세요. Dataclass(Python 3.7+)는 __init__, __repr__, 동등성을 무료로 제공합니다. json.loads() 및 수동 매핑과 함께 출력을 사용하거나 Pydantic 검증을 위해 조정하세요.
변환은 완전히 브라우저에서 수행됩니다. JSON은 서버로 전송되지 않습니다. 브라우저의 네트워크 탭을 통해 확인할 수 있습니다.
이 도구 사용 방법
JSON 붙여넣기 또는 업로드
JSON을 복사하여 왼쪽 편집기에 붙여넣습니다. 업로드를 클릭하여 .json 또는 .txt 파일을 로드할 수도 있습니다. 샘플 데이터를 보려면 샘플 버튼을 사용하세요. 구성 패널에서 클래스 이름(예: User)과 옵션을 설정하세요: @dataclass를 위한 Dataclass, List[Type] 어노테이션을 위한 Typing, Optional[T]를 위한 Nullable.
복사 또는 다운로드
복사를 사용하여 결과를 클립보드에 넣거나 다운로드를 사용하여 .py 파일로 저장하세요. 프로젝트에 붙여넣으세요. 동적 타입 확인의 경우 json.loads()로 충분합니다. 검증 및 파싱은 Pydantic을 참조하세요.
JSON을 Python으로 변환 예시
다음은 JSON 객체에서 Python dataclass를 생성하는 예시입니다.
예시: 구독자 레코드
JSON 입력:
생성된 Python 출력:
JSON을 Python으로 변환이 도움이 되는 경우
대부분의 개발자는 REST API 통합 시 이 기능이 필요합니다. Postman, requests 또는 httpx를 통해 요청을 보내면 응답이 JSON으로 옵니다. 여기에 붙여넣으면 구조화된 접근을 위한 타입이 지정된 클래스가 생성됩니다. 대용량 응답에서 특정 값을 추출하려면 jq가 명령줄에서 유용합니다.
구성 파일, 웹훅 페이로드 또는 이벤트 스트림은 종종 JSON입니다. 여기에서 처리하면 구조를 이해하고 타입 힌트, 검증 또는 데이터 처리 파이프라인을 위한 Python 클래스를 생성하는 데 도움이 됩니다.
외부 API를 사용하는 FastAPI 또는 Flask 앱을 구축하는 경우 타입이 지정된 모델이 코드 품질을 향상시키고 초기에 오류를 잡습니다. 생성된 클래스는 최소한의 수정으로 Pydantic용으로 조정할 수 있습니다.
자주 묻는 질문
Dataclass 대 일반 클래스?
Dataclass(Python 3.7+)는 __init__, __repr__, __eq__ 등을 무료로 제공합니다. 일반 클래스는 수동 __init__이 필요합니다. 둘 다 JSON 파싱과 함께 작동합니다. Dataclass는 현대 Python에서 선호됩니다.
Optional 타입은 어떻게 됩니까?
누락되거나 null일 수 있는 필드에 Optional[T] 또는 T | None을 위해 Nullable 타입을 활성화하세요. 유니온 구문 T | None은 Python 3.10+가 필요합니다.
데이터가 어디로 전송됩니까?
아니요. 생성은 완전히 JavaScript를 사용하여 브라우저에서 수행됩니다. 서버로 전송되는 데이터가 없습니다. 브라우저의 네트워크 탭을 통해 확인할 수 있습니다.
Pydantic과 함께 사용할 수 있습니까?
출력은 표준 Python입니다. 기본 클래스를 BaseModel로 변경하고 검증기를 추가하여 Pydantic용으로 조정할 수 있습니다. Pydantic은 JSON에서 자체 스키마 생성도 가능합니다.
snake_case 대 camelCase?
JSON은 종종 camelCase를 사용하고, Python은 snake_case를 선호합니다. 생성기는 JSON 키를 변경 없이 사용합니다. 매핑을 위해 Pydantic에서 Field(alias="camelCase")를 사용하거나 사용자 지정 디코더를 사용하세요.
관련 도구
Python JSON 처리는 Python json 모듈 및 Pydantic을 참조하세요. JSON은 JSON 사양, RFC 8259 및 MDN을 참조하세요. jq 및 Postman도 참조하세요.