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

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

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

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

परिचय

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

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



TypeScript में JSON पार्सिंग की मूल बातें

JSON पार्सिंग एक JSON स्ट्रिंग को TypeScript ऑब्जेक्ट में बदलने की प्रक्रिया है। इसके लिए वैश्विक विधि JSON.parse() का उपयोग किया जाता है। हालांकि, JavaScript के विपरीत, TypeScript में हम परिणाम के अपेक्षित टाइप को निर्दिष्ट कर सकते हैं, जो कोड को अधिक पूर्वानुमानित बनाता है।



टाइप के बिना सरल पार्सिंग

JSON स्ट्रिंग के पार्सिंग का मूल उदाहरण:

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);console.log(user.name); // TypeScript जानता है कि यह string है

यह दृष्टिकोण IDE को ऑटो-कम्प्लीशन प्रदान करने और कंपाइलेशन चरण में टाइप की जाँच करने की अनुमति देता है।



पार्सिंग त्रुटियों का प्रबंधन

JSON स्ट्रिंग्स गलत हो सकती हैं, इसलिए अपवादों को संभालना महत्वपूर्ण है:

function safeParseJSON<T>(json: string): T | null {  try {    return JSON.parse(json) as T;  } catch (error) {    console.error('JSON पार्सिंग त्रुटि:', error);    return null;  }}

const invalidJson = '{"name": "अन्ना", age: 30}'; // गलत JSONconst result = safeParseJSON<User>(invalidJson);if (result) { console.log(result.name);} else { console.log('JSON को पार्स करने में विफल');}

फ़ंक्शन safeParseJSON एक जेनेरिक पैरामीटर लेता है, जो इसे विभिन्न डेटा टाइप के लिए पुन: उपयोग करने की अनुमति देता है।



ऑब्जेक्ट्स का JSON में सीरियलाइज़ेशन

सीरियलाइज़ेशन TypeScript ऑब्जेक्ट को JSON स्ट्रिंग में बदलने की विपरीत प्रक्रिया है। इसके लिए विधि JSON.stringify() का उपयोग किया जाता है। TypeScript इस विधि में कोई नई क्षमता नहीं जोड़ता है, लेकिन यह नियंत्रित करने में मदद करता है कि अंतिम स्ट्रिंग में कौन सा डेटा जाता है।



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

const user: User = {  name: "इवान",  age: 25,  city: "सेंट पीटर्सबर्ग"};

const jsonString = JSON.stringify(user);console.log(jsonString); // {"name":"इवान","age":25,"city":"सेंट पीटर्सबर्ग"}


फ़ील्ड फ़िल्टर करने के लिए replacer का उपयोग

JSON.stringify() का दूसरा पैरामीटर एक replacer फ़ंक्शन है, जो यह नियंत्रित करने की अनुमति देता है कि परिणाम में कौन से फ़ील्ड शामिल किए जाएं:

const jsonStringFiltered = JSON.stringify(user, (key, value) => {  if (key === 'age') {    return undefined; // age फ़ील्ड को बाहर करें  }  return value;});console.log(jsonStringFiltered); // {"name":"इवान","city":"सेंट पीटर्सबर्ग"}

यह तब उपयोगी होता है जब संवेदनशील डेटा को छिपाने या स्थानांतरित की जाने वाली जानकारी के आकार को कम करने की आवश्यकता होती है।



space के साथ फ़ॉर्मेटिंग

ब्लॉग

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