डेवलपर / प्रकार
JSON से Python कन्वर्टर
JSON सैंपल को Python dataclasses, TypedDict definitions या Pydantic मॉडल में बदलें—nested classes, optional और nullable fields, तथा snake_case नामों के साथ।
JSON से Python कन्वर्टर: यह कन्वर्टर सैंपल की संरचना पढ़ता है: हर object एक class बन जाता है, arrays list[...] बन जाते हैं और किसी array में मौजूद objects को मिलाया जाता है। इसलिए कुछ रिकॉर्ड में गायब key optional बन जाती है और कभी-कभी null होने वाली key "| None" बन जाती है। जो keys मान्य Python नाम नहीं हैं, वे snake_case में बदल जाती हैं; Pydantic models मूल key को alias के रूप में रखते हैं और TypedDict अपने functional form में बदल जाता है। कई जटिल सैंपल के लिए आउटपुट Python 3.13 में चलाकर जांचा गया है और Pydantic ने सैंपल को उसके अनुसार validate किया है। यह आपके ब्राउज़र में 100% स्थानीय रूप से चलता है और सर्वर पर कोई फ़ाइल अपलोड नहीं होती।
- श्रेणी
- डेवलपर टूल्स
- रन
- आपके ब्राउज़र में
- लागत
- मुफ़्त · साइन अप की ज़रूरत नहीं
- उपलब्धता
- इस्तेमाल के लिए तैयार
पूरी तरह आपके ब्राउज़र में चलता है
Python
from __future__ import annotations
from dataclasses import dataclass
@dataclass
class Address:
city: str
zip_code: str
@dataclass
class User:
id: int
user_name: str
avatar_url: str
score: float
tags: list[str]
address: Address
manager_id: int | None
nickname: str | None = None
UserList = list[User]
यह Python 3.10 या उसके बाद के वर्ज़न के लिए लिखा गया है। कुछ ऑब्जेक्ट में मौजूद न रहने वाली कुंजियाँ optional बन जाती हैं; कभी-कभी null होने वाली कुंजियाँ “| None” बन जाती हैं। Dataclasses बदली हुई कुंजियों को वापस JSON में मैप नहीं करते, इसलिए जब कुंजियाँ मान्य Python नाम न हों, तो Pydantic का उपयोग करें, जो aliases जोड़ता है।
टाइप से वैलिडेशन तक
सिर्फ़ टाइप हिंट रनटाइम पर डेटा की जाँच नहीं करते: json.loads, एनोटेशन चाहे कुछ भी कहें, आपको सामान्य dicts और lists देता है। Pydantic मॉडल डेटा को पार्स करते समय उसे वैलिडेट और कन्वर्ट करते हैं, Model.model_validate(data) के साथ, और हर उस फ़ील्ड की रिपोर्ट करते हैं जो उपयुक्त नहीं है।
उसी सैंपल को दूसरी भाषाओं में देखने के लिए JSON to TypeScript और JSON से Go देखें; भाषा-निरपेक्ष कॉन्ट्रैक्ट के लिए JSON Schema जनरेटर देखें।
अच्छा सैंपल पाना
एक की बजाय कई रिकॉर्ड पेस्ट करें, जिनमें वैकल्पिक या खाली फ़ील्ड वाले रिकॉर्ड भी हों, ताकि कन्वर्टर देख सके कि कौन-सी keys हमेशा मौजूद रहती हैं। जो मान हमेशा null या खाली arrays होते हैं, वे Any के रूप में आते हैं और उन्हें हाथ से भरना होता है।
इस्तेमाल करने का तरीका
- JSON सैंपल पेस्ट करें—बेहतर होगा कि इसमें कई सामान्य रिकॉर्ड वाला array हो।
- dataclasses, TypedDict या Pydantic चुनें और top-level type का नाम दें।
- जनरेट की गई classes को कॉपी करके अपने प्रोजेक्ट में पेस्ट करें।
गोपनीयता और सीमाएँ
JSON आपके ब्राउज़र में कन्वर्ट होता है और कभी अपलोड नहीं होता।
संबंधित टूल्स
अक्सर पूछे जाने वाले सवाल
मुझे कौन-सी शैली इस्तेमाल करनी चाहिए?
API से डेटा validate और parse करने के लिए Pydantic, plain dicts पास करने वाले कोड की type-checking के लिए TypedDict, और अपने बनाए सरल internal objects के लिए dataclasses इस्तेमाल करें।
इस कोड के लिए Python का कौन-सा version चाहिए?
X | None syntax के लिए Python 3.10 या उसके बाद का version चाहिए; TypedDict में NotRequired के लिए 3.11 चाहिए, या पुराने versions पर typing_extensions इस्तेमाल करें।
कुछ fields का type Any क्यों है?
जो key हमेशा null हो या empty array हो, उससे उसके type का पता नहीं चलता; Any को अपनी API के documentation में दिए वास्तविक type से बदलें।
मुफ़्त टूल · आपके ब्राउज़र में बार चलता है · अकाउंट की ज़रूरत नहीं