TypeScript में JSON के साथ काम करना: पार्सिंग और सीरियलाइज़ेशन

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

परिचय: JSON और TypeScript क्यों हैं एकदम सही जोड़ी

\n

आधुनिक वेब डेवलपमेंट में, JSON (JavaScript Object Notation) क्लाइंट और सर्वर के बीच डेटा आदान-प्रदान, कॉन्फ़िगरेशन स्टोर करने और API में जानकारी भेजने के लिए एक सार्वभौमिक फॉर्मेट बन गया है। TypeScript, JavaScript के ऊपर एक लेयर की तरह, इसमें एक शक्तिशाली टाइप सिस्टम जोड़ता है, जिससे JSON के साथ काम करना न केवल आसान बल्कि सुरक्षित भी हो जाता है। इस लेख में, हम सीखेंगे कि TypeScript का उपयोग करके डेटा को सही तरीके से कैसे पार्स करें (JSON स्ट्रिंग को ऑब्जेक्ट में बदलें) और सीरियलाइज़ करें (ऑब्जेक्ट को JSON स्ट्रिंग में बदलें)। यह सामग्री शुरुआती डेवलपर्स के लिए है जो TypeScript की मूल बातें जानते हैं और JSON के साथ आत्मविश्वास से काम करना चाहते हैं।

\n\n

आप क्या सीखेंगे

\n
    \n
  • बिल्ट-इन मेथड JSON.parse() और JSON.stringify() का उपयोग कैसे करें।
  • \n
  • गलतियों से बचने के लिए पार्सिंग के दौरान डेटा को कैसे टाइप करें।
  • \n
  • एक्सेप्शन को कैसे हैंडल करें और JSON की सटीकता की जाँच करें।
  • \n
  • वास्तविक परिदृश्यों के साथ व्यावहारिक उदाहरण।
  • \n
\n\n

1. मूल बातें: JSON.parse() और JSON.stringify() मेथड

\n

TypeScript को JavaScript से JSON के साथ काम करने के लिए दो ग्लोबल मेथड विरासत में मिलते हैं। ये अतिरिक्त लाइब्रेरी आयात किए बिना उपलब्ध हैं।

\n\n

1.1. JSON को ऑब्जेक्ट में पार्स करना: JSON.parse()

\n

JSON.parse() मेथड एक JSON फॉर्मेट स्ट्रिंग लेता है और एक JavaScript ऑब्जेक्ट (या ऐरे, नंबर, स्ट्रिंग) लौटाता है। TypeScript में, हम जेनेरिक का उपयोग करके परिणाम के अपेक्षित प्रकार को निर्दिष्ट कर सकते हैं।

\n
// बिना टाइपिंग के सरल उदाहरण\nconst jsonString = '{"name": "आलिया", "age": 30}';\nconst user = JSON.parse(jsonString);\nconsole.log(user.name); // "आलिया"
\n\n

1.2. ऑब्जेक्ट को JSON में सीरियलाइज़ करना: JSON.stringify()

\n

JSON.stringify() मेथड किसी JavaScript ऑब्जेक्ट या वैल्यू को JSON स्ट्रिंग में बदल देता है। यह सभी प्रिमिटिव टाइप, ऐरे और सरल ऑब्जेक्ट को स्वचालित रूप से हैंडल करता है।

\n
const user = {\n  name: "रोहन",\n  age: 25,\n  isAdmin: false\n};\nconst jsonString = JSON.stringify(user);\nconsole.log(jsonString); // '{"name":"रोहन","age":25,"isAdmin":false}'
\n\n

2. TypeScript में JSON पार्सिंग के दौरान डेटा टाइपिंग

\n

TypeScript का मुख्य लाभ पार्सिंग के परिणाम के लिए एक प्रकार निर्धारित करने की क्षमता है। यह कोड को कंपाइल समय पर त्रुटियों से बचाता है और इसे स्व-दस्तावेजीकरण बनाता है।

\n\n

2.1. इंटरफ़ेस और जेनेरिक का उपयोग

\n

अपने डेटा की संरचना का वर्णन करने वाला एक इंटरफ़ेस बनाएं, और इसे जेनेरिक के रूप में JSON.parse() में पास करें:

\n
interface User {\n  id: number;\n  name: string;\n  email: string;\n  isActive: boolean;\n}\n\nconst jsonData = '{"id": 1, "name": "विक्रम", "email": "vikram@example.com", "isActive": true}';\nconst user: User = JSON.parse(jsonData);\nconsole.log(user.email); // "vikram@example.com"\n// user.id अब सख्ती से number है
\n\n

2.2. नेस्टेड ऑब्जेक्ट और ऐरे को हैंडल करना

\n

इंटरफ़ेस जटिल संरचनाओं के साथ भी बढ़िया काम करते हैं:

\n
interface Address {\n  city: string;\n  zip: string;\n}\n\ninterface Employee {\n  id: number;\n  name: string;\n  address: Address;\n  skills: string[];\n}\n\nconst employeeJson = '{"id": 101, "name": "प्रिया", "address": {"city": "दिल्ली", "zip": "110001"}, "skills": ["TS", "JS", "Python"]}';\nconst employee: Employee = JSON.parse(employeeJson);\nconsole.log(employee.address.city); // "दिल्ली"
\n\n

2.3. अगर टाइप मेल नहीं खाता तो क्या होगा?

\n

यह समझना महत्वपूर्ण है: TypeScript केवल कंपाइलेशन चरण पर टाइप की जाँच करता है। अगर रनटाइम पर एक अलग संरचना वाला JSON आता है (उदाहरण के लिए, age नंबर के बजाय स्ट्रिंग हो), तो कोड में त्रुटि होगी, लेकिन JSON.parse() में नहीं। पूर्ण सुरक्षा के लिए, runtime-वैलिडेटर (जैसे Zod या io-ts) का उपयोग करें, लेकिन अधिकांश शैक्षिक प्रोजेक्ट्स के लिए इंटरफ़ेस पर्याप्त हैं।

\n\n

3. सीरियलाइज़ेशन: बारीकियाँ और कस्टम रूपांतरण

\n

JSON.stringify() मेथड को भी कस्टमाइज़ किया जा सकता है

ब्लॉग

पुस्तक अनुशंसाएँ