JSON से Python
JSON से Python dataclass, Pydantic मॉडल या TypedDict बनाएँ
Python कोड बनाने के लिए JSON पेस्ट करें या कोई उदाहरण लोड करें।
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 एक alias के रूप में जोड़ा जाता है।
- 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+ का union सिंटैक्स उपयोग करता है; NotRequired वाले TypedDict मोड के लिए Python 3.11 या typing_extensions चाहिए।
