Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> JavaScript

Express.js में res.send और res.json में अंतर

जब भी एक Express एप्लिकेशन सर्वर HTTP रिक्वेस्ट प्राप्त करता है, यह डेवलपर को एक ऑब्जेक्ट प्रदान करता है, जिसे आमतौर पर res कहा जाता है।

उदाहरण

app.get('/test', (req, res) => {
  // यहां req और res उपयोग करें
})

res ऑब्जेक्ट मूल रूप से उस रिस्पांस को संदर्भित करता है जो इस API कॉल के हिस्से के रूप में भेजा जाएगा।

res.send फंक्शन कंटेंट टाइप को text/html सेट करता है जिसका अर्थ है कि क्लाइंट अब इसे टेक्स्ट के रूप में ट्रीट करेगा। फिर यह रिस्पांस को क्लाइंट को लौटाता है।

res.json फंक्शन दूसरी ओर content-type हेडर को application/json सेट करता है ताकि क्लाइंट रिस्पांस स्ट्रिंग को एक वैध JSON ऑब्जेक्ट के रूप में ट्रीट करे। यह भी फिर रिस्पांस को क्लाइंट को लौटाता है।

विस्तृत तुलना

पहलू res.send() res.json()
Content-Type ऑटो-डिटेक्ट (आमतौर पर text/html) application/json (एक्सप्लिसिट)
इनपुट स्ट्रिंग, बफर, ऑब्जेक्ट, एरे कोई भी JSON-सिरियलाइज़ेबल वैल्यू
सीरियलाइज़ेशन ऑब्जेक्ट्स के लिए JSON.stringify JSON.stringify (बिल्ट-इन)
कन्वर्जन स्ट्रिंग/बफर को जैसा है भेजता है हमेशा JSON में कन्वर्ट करता है

व्यवहार अंतर

// res.send - स्ट्रिंग जैसी है वैसी भेजता है
res.send('{"name": "John"}'); // Content-Type: text/html; क्लाइंट को स्ट्रिंग मिलती है

// res.json - ऑब्जेक्ट को JSON में सीरियलाइज़ करता है
res.json({ name: 'John' }); // Content-Type: application/json; क्लाइंट को ऑब्जेक्ट मिलता है

// res.send ऑब्जेक्ट के साथ - ऑटो JSON में कन्वर्ट करता है
res.send({ name: 'John' }); // Content-Type: application/json (ऑटो-डिटेक्ट!)

कब उपयोग करें

  • res.json(): API एंडपॉइंट्स, जब आप स्पष्ट JSON रिस्पांस चाहते हैं
  • res.send(): HTML पेजेस, प्लेन टेक्स्ट, बफर्स, या जब कंटेंट टाइप मैटर नहीं करता

नोट: Express 4.x+ में, res.send() ऑब्जेक्ट्स/एरे को ऑटोमैटिकली JSON में कन्वर्ट करता है और Content-Type सेट करता है।

  1. Node.js में send(), sendStatus() और json() मेथड्स Node.js में send(), sendStatus() और json() मेथड्स

    send() और json() फंक्शन्स का उपयोग सर्वर से सीधे क्लाइंट को रिस्पांस भेजने के लिए किया जाता है। send() मेथड डेटा को स्ट्रिंग फॉर्मेट में भेजता है, जबकि json() फंक्शन उसी को JSON फॉर्मेट में भेजता है। sendStatus() मेथड का उपयोग क्लाइंट के साथ HTTP रिक्वेस्ट स्टेटस भेजने के लिए किया जाता है। संभावित

  1. - C# और .Net में अंतर

    C# एक Programming Language है और .NET एक Framework है। .NET में Common Language Runtime (CLR) होता है, जो .NET Framework का एक Virtual Component है। .NET में न केवल C#, बल्कि इसके माध्यम से आप VB, F# आदि के साथ काम कर सकते हैं। C# .NET का हिस्सा है और इसमें निम्न Features हैं: Boolean Conditions Au

  1. - Go और Java में अंतर

    GoGo एक प्रक्रियात्मक प्रोग्रामिंग भाषा है। प्रोग्राम पैकेज का उपयोग करके असेंबल किए जाते हैं। यह डायनामिक भाषाओं के समान पैटर्न को अपनाने वाले वातावरण का समर्थन करता है।JavaJava एक ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग भाषा है। Java काफी तेज, विश्वसनीय और सुरक्षित है। यह सबसे व्यापक रूप से उपयोग की जाने व