UTILS.
100% ब्राउज़र में
🐍

JSON से Pydantic Model

एक JSON नमूने को Python Pydantic v2 model classes में बदलें, @dataclass या TypedDict आउटपुट और snake_case field aliasing के लिए toggles के साथ।

आउटपुट

इस टूल के बारे में

JSON से Pydantic Model टूल एक पेस्ट किए गए JSON नमूने को Python model classes में बदल देता है। Python और FastAPI डेवलपर्स लगातार उदाहरण API responses से Pydantic models scaffold करते हैं, और यह कन्वर्टर इसे ब्राउज़र में तुरंत करता है। यह आपके JSON को पार्स करता है, Python types को पुनरावर्ती रूप से infer करता है, और प्रति object एक class निकालता है: strings बन जाती हैं str, ISO date-time strings datetime, date-only strings date, integers int, अन्य numbers float, booleans bool, arrays List[T], और nested objects अपनी स्वयं की model classes जिनका नाम PascalCase में होता है।

सभी पार्सिंग और जनरेशन स्थानीय रूप से JSON.parse और सादे JavaScript के साथ होते हैं, इसलिए आप जो पेस्ट करते हैं वह आपकी मशीन नहीं छोड़ता। Child classes को उन classes से पहले निकाला जाता है जो उन्हें संदर्भित करती हैं (topological क्रम), और header केवल वही import करता है जो वास्तव में उपयोग होता है — pydantic से BaseModel और Field, typing से Optional / List / Union / Any, और प्रासंगिक होने पर datetime / date। from __future__ import annotations हमेशा शामिल होता है ताकि forward references क्रम की परवाह किए बिना काम करें।

जो keys कुछ sibling objects से गायब हैं, या null के रूप में देखी जाती हैं, वे Optional[T] = None बन जाती हैं। output-mode toggle Pydantic v2 BaseModel (डिफ़ॉल्ट), stdlib @dataclass, और typing.TypedDict के बीच स्विच करता है। camelCase या अमान्य keys का नाम बदलने और मॉडल को मूल JSON पार्स करने देने के लिए Field(alias="originalKey") स्वतः जोड़ने हेतु snake_case fields चालू करें। कोड कॉपी करें या इसे .py फ़ाइल के रूप में डाउनलोड करें।

अक्सर पूछे जाने वाले प्रश्न

कौन से Python types infer किए जाते हैं?
string को str, ISO date-time को datetime, date-only को date, integer को int, non-integer number को float, boolean को bool, array को List[T] जिसमें T elements से merge होता है, और object को एक nested BaseModel class। Null या गायब मान Optional[T] = None बन जाते हैं।
क्या मैं इसके बजाय dataclass या TypedDict पा सकता हूँ?
हाँ। output-mode toggle Pydantic v2 BaseModel (डिफ़ॉल्ट), dataclasses import के साथ एक stdlib @dataclass, या एक typing.TypedDict class निकालता है। type inference समान है; केवल class shell और imports बदलते हैं।
non-identifier या camelCase keys को कैसे संभाला जाता है?
snake_case fields चालू होने पर, userName जैसी key user_name प्लस Field(alias="userName") बन जाती है ताकि यह अभी भी round-trip करे। जो keys Python keywords या अमान्य identifiers हैं उन्हें हमेशा alias किया जाता है ताकि जनरेट किया गया कोड मान्य हो।
क्या classes सही ढंग से क्रमबद्ध हैं?
हाँ। Nested child classes को उन parent classes से पहले घोषित किया जाता है जो उनका उपयोग करती हैं, और from __future__ import annotations शामिल है, इसलिए मॉडल forward-reference errors के बिना compile होते हैं।

और टूल