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

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

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

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

TypeScript में JSON के साथ काम करने का परिचय



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



TypeScript JSON के साथ काम करने के लिए JavaScript के सभी बिल्ट-इन मेथड प्रदान करता है, लेकिन उनमें एक शक्तिशाली टाइप सिस्टम जोड़ता है। यह अधिक विश्वसनीय और पूर्वानुमानित कोड बनाने की अनुमति देता है। हम बुनियादी संचालन के साथ-साथ उन्नत तकनीकों पर भी विचार करेंगे, जिसमें कस्टम वैलिडेटर फ़ंक्शन और जेनेरिक के साथ काम करना शामिल है।



JSON पार्सिंग की मूल बातें: JSON.parse()



JSON.parse() मेथड JSON स्ट्रिंग को JavaScript ऑब्जेक्ट में बदलता है। TypeScript में, रिजल्ट को सही ढंग से टाइप करना महत्वपूर्ण है ताकि कंपाइलर ऑब्जेक्ट के प्रॉपर्टी एक्सेस की सत्यता की जांच कर सके।



बुनियादी सिंटैक्स और टाइपिंग



एक सरल उदाहरण देखें:



const jsonString = '{"name": "Анна", "age": 30, "city": "Москва"}';const user = JSON.parse(jsonString);console.log(user.name); // Анна


समस्या यह है कि TypeScript user ऑब्जेक्ट की संरचना नहीं जानता है। वेरिएबल का प्रकार any है, जो हमें टाइपिंग के सभी लाभों से वंचित करता है। सही समाधान स्पष्ट रूप से प्रकार निर्दिष्ट करना है:



interface User {  name: string;  age: number;  city: string;}

const jsonString = '{"name": "Анна", "age": 30, "city": "Москва"}';const user: User = JSON.parse(jsonString); // त्रुटि!// Type 'any' is not assignable to type 'User'.


TypeScript एक त्रुटि देगा, क्योंकि JSON.parse() any लौटाता है, और हम इसे एक टाइप किए गए वेरिएबल को असाइन करने का प्रयास कर रहे हैं। टाइप कास्टिंग का उपयोग करें:



const user = JSON.parse(jsonString) as User;console.log(user.name.toUpperCase()); // АННА


टाइप जांच के साथ सुरक्षित पार्सिंग



as के साथ टाइप कास्टिंग एक त्वरित समाधान है, लेकिन यह गारंटी नहीं देता है कि डेटा वास्तव में अपेक्षित संरचना से मेल खाता है। प्रोडक्शन कोड के लिए, वैलिडेटर फ़ंक्शन बनाने की अनुशंसा की जाती है:



function parseUser(data: string): User | null {  try {    const parsed = JSON.parse(data);    if (typeof parsed === 'object' && parsed !== null &&        typeof parsed.name === 'string' &&        typeof parsed.age === 'number' &&        typeof parsed.city === 'string') {      return parsed as User;    }    return null;  } catch {    return null;  }}

const user = parseUser('{"name": "Иван", "age": 25, "city": "СПб"}');if (user) { console.log(`उपयोगकर्ता: ${user.name}, आयु: ${user.age}`);}


यह दृष्टिकोण रनटाइम त्रुटियों को रोकता है यदि सर्वर गलत डेटा लौटाता है।



सीरियलाइज़ेशन: JSON.stringify()



JSON.stringify() मेथड JavaScript ऑब्जेक्ट को JSON स्ट्रिंग में बदलता है। TypeScript में, यह मेथड JavaScript की तरह ही काम करता है, लेकिन प्रकारों को ध्यान में रखते हुए।



सरल सीरियलाइज़ेशन



const user: User = {  name: 'Мария',  age: 28,  city: 'Казань'};

const jsonString = JSON.stringify(user);console.log(jsonString); // {"name":"Мария","age":28,"city":"Казань"}


फ़ॉर्मेटिंग पैरामीटर



पढ़ने योग्य आउटपुट के लिए replacer और space पैरामीटर का उपयोग करें:



const user = {  name: 'Алексей',  age: 35,  city: 'Новосибирск',  password: 'secret123'};

// पासवर्ड फ़ील्ड को बाहर करेंconst jsonString = JSON.stringify(user, ['name', 'age', 'city'], 2);console.log(jsonString);/* आउटपुट:{ "name": "Алексей", "age": 35, "city": "Новосибирск"}*/


repla ```

ब्लॉग

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