जावास्क्रिप्ट में JSON के साथ काम करना: व्यवहार में पार्सिंग और सीरियलाइज़ेशन
\n\nJSON (JavaScript Object Notation) एक हल्का डेटा विनिमय प्रारूप है जो आधुनिक वेब अनुप्रयोगों में व्यापक रूप से उपयोग किया जाता है। जावास्क्रिप्ट में, JSON के साथ काम करना भाषा स्तर पर निर्मित है, जो इसे क्लाइंट और सर्वर के बीच डेटा विनिमय के साथ-साथ कॉन्फ़िगरेशन संग्रहीत करने के लिए एक आदर्श उपकरण बनाता है। इस लेख में, हम समझेंगे कि Node.js वातावरण में JSON को कैसे पार्स और सीरियलाइज़ करें, व्यावहारिक उदाहरण और सर्वोत्तम प्रथाओं पर विचार करेंगे।
\n\nJSON क्या है और इसकी आवश्यकता क्यों है?
\nJSON एक टेक्स्ट प्रारूप है जो जावास्क्रिप्ट ऑब्जेक्ट्स के सिंटैक्स पर आधारित है। यह निम्नलिखित डेटा प्रकारों का समर्थन करता है:
\n- \n
- स्ट्रिंग्स (दोहरे उद्धरण चिह्नों में) \n
- संख्याएँ (पूर्णांक और फ़्लोटिंग पॉइंट) \n
- बूलियन मान (true/false) \n
- ऐरे \n
- ऑब्जेक्ट्स \n
- null \n
JSON का उपयोग सर्वव्यापी है: API अनुरोधों से लेकर कॉन्फ़िगरेशन फ़ाइलों (जैसे, package.json) तक। Node.js में, JSON माइक्रोसर्विसेज के बीच डेटा विनिमय के लिए मुख्य प्रारूप है।
JSON पार्सिंग: स्ट्रिंग को ऑब्जेक्ट में बदलना
\nJSON स्ट्रिंग को जावास्क्रिप्ट ऑब्जेक्ट में बदलने के लिए JSON.parse() विधि का उपयोग किया जाता है। आइए एक बुनियादी उदाहरण देखें:
const jsonString = '{"name": "अन्ना", "age": 30, "isStudent": false}';\nconst user = JSON.parse(jsonString);\n\nconsole.log(user.name); // "अन्ना"\nconsole.log(user.age); // 30\nconsole.log(user.isStudent); // false\n\nमहत्वपूर्ण: JSON स्ट्रिंग को सख्ती से स्वरूपित किया जाना चाहिए। सभी कुंजियाँ और स्ट्रिंग मान दोहरे उद्धरण चिह्नों में होने चाहिए। एकल उद्धरण चिह्न या trailing commas त्रुटि उत्पन्न करेंगे।
\n\nपार्सिंग के दौरान त्रुटि प्रबंधन
\nबाहरी डेटा (फ़ाइलों, API से) के साथ काम करते समय, हमेशा अमान्य JSON प्राप्त करने का जोखिम होता है। try...catch का उपयोग करें:
const fs = require('fs');\n\ntry {\n const data = fs.readFileSync('data.json', 'utf8');\n const parsed = JSON.parse(data);\n console.log('सफलतापूर्वक पार्स किया गया:', parsed);\n} catch (error) {\n if (error instanceof SyntaxError) {\n console.error('JSON सिंटैक्स त्रुटि:', error.message);\n } else {\n console.error('फ़ाइल पढ़ने में त्रुटि:', error.message);\n }\n}\n\nरिव्यूअर फ़ंक्शन के साथ पार्सिंग
\nJSON.parse() विधि दूसरा तर्क लेती है - एक फ़ंक्शन जो मानों को रूपांतरित कर सकता है। यह उपयोगी है, उदाहरण के लिए, स्ट्रिंग दिनांकों को Date ऑब्जेक्ट्स में बदलने के लिए:
const json = '{"name": "इवान", "birthDate": "1990-05-15T00:00:00Z"}';\nconst user = JSON.parse(json, (key, value) => {\n if (key === 'birthDate') {\n return new Date(value);\n }\n return value;\n});\n\nconsole.log(user.birthDate instanceof Date); // true\nconsole.log(user.birthDate.getFullYear()); // 1990\n\nJSON सीरियलाइज़ेशन: ऑब्जेक्ट को स्ट्रिंग में बदलना
\nविपरीत प्रक्रिया - जावास्क्रिप्ट ऑब्जेक्ट को JSON स्ट्रिंग में बदलना - JSON.stringify() का उपयोग करके की जाती है।
const user = {\n name: 'मारिया',\n age: 25,\n skills: ['JavaScript', 'Node.js', 'Python'],\n isActive: true\n};\n\nconst jsonString = JSON.stringify(user);\nconsole.log(jsonString);\n// {"name":"मारिया","age":25,"skills":["JavaScript","Node.js","Python"],"isActive":true}\n\nआउटपुट को फ़ॉर्मेट करना
\nपठनीयता के लिए, इंडेंटेशन जोड़ा जा सकता है:
\n\nconst prettyJson = JSON.stringify(user, null, 2);\nconsole.log(prettyJson);\n/*\n{\n "name": "मारिया",\n "age": 25,\n "skills": [\n "JavaScript",\n "Node.js",\n "Python"\n ],\n "isActive": true\n}\n*/\n\nमानों को फ़िल्टर करना और बदलना
\nJSON.stringify() का दूसरा तर्क कुंजियों की एक सरणी (फ़िल्टरिंग के लिए) या एक रिप्लेसर फ़ंक्शन हो सकता है:
ब्लॉग
पुस्तक अनुशंसाएँ
यह भी पढ़ें