Node.js में JSON प्रोसेसिंग: एक संपूर्ण गाइड

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

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

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

Node.js में JSON: डेटा प्रोसेसिंग की संपूर्ण गाइड

\n\n

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

\n\n

1. मूल बातें: पार्सिंग और सीरियलाइज़ेशन

\n\n

Node.js में JSON के साथ काम करने के लिए दो वैश्विक विधियों का उपयोग किया जाता है: JSON.parse() और JSON.stringify()। ये अतिरिक्त मॉड्यूल स्थापित किए बिना उपलब्ध हैं।

\n\n

JSON.parse() — स्ट्रिंग को ऑब्जेक्ट में बदलना

\n

विधि JSON.parse() एक JSON स्ट्रिंग लेती है और संबंधित JavaScript ऑब्जेक्ट लौटाती है। यह महत्वपूर्ण है कि स्ट्रिंग सख्ती से मान्य JSON होनी चाहिए।

\n\n
const jsonString = '{"name": "Alice", "age": 30, "isAdmin": false}';\nconst user = JSON.parse(jsonString);\nconsole.log(user.name); // Alice\nconsole.log(typeof user); // object
\n\n

यह विधि दूसरे तर्क का भी समर्थन करती है — एक "reviver" फ़ंक्शन, जो पार्सिंग प्रक्रिया के दौरान मानों को बदलने की अनुमति देता है:

\n\n
const data = '{"date": "2025-01-15T10:00:00Z"}';\nconst parsed = JSON.parse(data, (key, value) => {\n    if (key === 'date') return new Date(value);\n    return value;\n});\nconsole.log(parsed.date instanceof Date); // true
\n\n

JSON.stringify() — ऑब्जेक्ट को स्ट्रिंग में बदलना

विधि JSON.stringify() उल्टा रूपांतरण करती है — JavaScript ऑब्जेक्ट को JSON स्ट्रिंग में बदलती है।

\n\n
const user = {\n    name: 'Bob',\n    age: 25,\n    hobbies: ['coding', 'reading']\n};\nconst json = JSON.stringify(user);\nconsole.log(json); \n// {"name":"Bob","age":25,"hobbies":["coding","reading"]}
\n\n

यह विधि तीन तर्क लेती है: मान, एक प्रतिस्थापन फ़ंक्शन (replacer) और फ़ॉर्मेटिंग के लिए रिक्त स्थानों की संख्या (space):

\n\n
const obj = { a: 1, b: 2, c: 3 };\n// इंडेंटेशन के साथ फ़ॉर्मेटेड आउटपुट\nconsole.log(JSON.stringify(obj, null, 2));\n// {\n//   "a": 1,\n//   "b": 2,\n//   "c": 3\n// }\n\n// replacer के साथ कुंजियों को फ़िल्टर करना\nconst filtered = JSON.stringify(obj, ['a', 'c'], 2);\nconsole.log(filtered);\n// {\n//   "a": 1,\n//   "c": 3\n// }
\n\n

2. JSON फ़ाइलों को पढ़ना और लिखना

\n\n

वास्तविक एप्लिकेशन में, JSON डेटा अक्सर फ़ाइलों में संग्रहीत किया जाता है। फ़ाइल सिस्टम के साथ काम करने के लिए अंतर्निहित मॉड्यूल fs का उपयोग किया जाता है।

\n\n

सिंक्रोनस पढ़ना और लिखना

\n
const fs = require('fs');\nconst path = require('path');\n\nconst filePath = path.join(__dirname, 'config.json');\n\n// पढ़ना\nconst rawData = fs.readFileSync(filePath, 'utf-8');\nconst config = JSON.parse(rawData);\nconsole.log(config.port);\n\n// लिखना\nconst newConfig = { port: 3000, host: 'localhost' };\nfs.writeFileSync(filePath, JSON.stringify(newConfig, null, 2));
\n\n

एसिंक्रोनस पढ़ना और लिखना (अनुशंसित तरीका)

\n
const fs = require('fs').promises;\n\nasync function readConfig() {\n    try {\n        const data = await fs.readFile('config.json', 'utf-8');\n        return JSON.parse(data);\n    } catch (err) {\n        console.error('फ़ाइल पढ़ने में त्रुटि:', err);\n        throw err;\n    }\n}\n\nasync function writeConfig(config) {\n    await fs.writeFile('config.json', JSON.stringify(config, null, 2));\n}\n\n// उपयोग\n(async () => {\n    const config = await readConfig();\n    config.port = 4000;\n    await writeConfig(config);\n})();
\n\n

3. JSON वैलिडेशन

\n\n

कभी-कभी यह जांचना आवश्यक होता है कि कोई स्ट्रिंग मान्य JSON है या नहीं, बिना अपवाद उत्पन्न किए। सबसे विश्वसनीय तरीका JSON.parse() को try-catch में लपेटना है:

\n\n

                
    
    

अनुशंसाएँ