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

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

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

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

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

\n\n

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

\n\n

JSON क्या है और इसकी आवश्यकता क्यों है?

\n

JSON एक टेक्स्ट प्रारूप है जो जावास्क्रिप्ट ऑब्जेक्ट्स के सिंटैक्स पर आधारित है। यह निम्नलिखित डेटा प्रकारों का समर्थन करता है:

\n
    \n
  • स्ट्रिंग्स (दोहरे उद्धरण चिह्नों में)
  • \n
  • संख्याएँ (पूर्णांक और फ़्लोटिंग पॉइंट)
  • \n
  • बूलियन मान (true/false)
  • \n
  • ऐरे
  • \n
  • ऑब्जेक्ट्स
  • \n
  • null
  • \n
\n

JSON का उपयोग सर्वव्यापी है: API अनुरोधों से लेकर कॉन्फ़िगरेशन फ़ाइलों (जैसे, package.json) तक। Node.js में, JSON माइक्रोसर्विसेज के बीच डेटा विनिमय के लिए मुख्य प्रारूप है।

\n\n

JSON पार्सिंग: स्ट्रिंग को ऑब्जेक्ट में बदलना

\n

JSON स्ट्रिंग को जावास्क्रिप्ट ऑब्जेक्ट में बदलने के लिए JSON.parse() विधि का उपयोग किया जाता है। आइए एक बुनियादी उदाहरण देखें:

\n\n
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 का उपयोग करें:

\n\n
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

रिव्यूअर फ़ंक्शन के साथ पार्सिंग

\n

JSON.parse() विधि दूसरा तर्क लेती है - एक फ़ंक्शन जो मानों को रूपांतरित कर सकता है। यह उपयोगी है, उदाहरण के लिए, स्ट्रिंग दिनांकों को Date ऑब्जेक्ट्स में बदलने के लिए:

\n\n
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\n

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

\n

विपरीत प्रक्रिया - जावास्क्रिप्ट ऑब्जेक्ट को JSON स्ट्रिंग में बदलना - JSON.stringify() का उपयोग करके की जाती है।

\n\n
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\n
const 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

मानों को फ़िल्टर करना और बदलना

\n

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

\n\n


                
                

ब्लॉग

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