HTML5 लोकलस्टोरेज और सेशनस्टोरेज में जावास्क्रिप्ट ऑब्जेक्ट्स को स्टोर करना

JavaScript

वेब स्टोरेज में ऑब्जेक्ट के साथ कार्य करना

HTML5 लोकलस्टोरेज या सेशनस्टोरेज के साथ काम करते समय, जावास्क्रिप्ट ऑब्जेक्ट्स को स्टोर करने का प्रयास करते समय डेवलपर्स को अक्सर समस्याओं का सामना करना पड़ता है। आदिम डेटा प्रकारों और सरणियों के विपरीत, ऑब्जेक्ट स्ट्रिंग्स में परिवर्तित होते प्रतीत होते हैं, जिससे भ्रम और अप्रत्याशित परिणाम हो सकते हैं।

वेब स्टोरेज का उपयोग करके वस्तुओं को ठीक से संग्रहीत और पुनः प्राप्त करने का तरीका समझना कई वेब अनुप्रयोगों के लिए महत्वपूर्ण है। यह मार्गदर्शिका यह पता लगाएगी कि ऑब्जेक्ट को स्ट्रिंग में क्यों परिवर्तित किया जाता है और यह सुनिश्चित करने के लिए एक सरल समाधान प्रदान करता है कि आपके ऑब्जेक्ट सही ढंग से संग्रहीत और पुनर्प्राप्त किए गए हैं।

आज्ञा विवरण
JSON.stringify() एक जावास्क्रिप्ट ऑब्जेक्ट या मान को JSON स्ट्रिंग में परिवर्तित करता है, जिससे लोकलस्टोरेज या सेशनस्टोरेज में भंडारण की अनुमति मिलती है।
localStorage.setItem() लोकलस्टोरेज ऑब्जेक्ट में एक कुंजी-मूल्य जोड़ी संग्रहीत करता है, जिससे डेटा ब्राउज़र सत्रों में बना रहता है।
localStorage.getItem() लोकलस्टोरेज से दी गई कुंजी से जुड़ा मान पुनर्प्राप्त करता है।
JSON.parse() एक JSON स्ट्रिंग को पार्स करता है और इसे वापस जावास्क्रिप्ट ऑब्जेक्ट में परिवर्तित करता है, जिससे जटिल डेटा संरचनाओं की पुनर्प्राप्ति सक्षम होती है।
sessionStorage.setItem() सेशनस्टोरेज ऑब्जेक्ट में एक कुंजी-मूल्य जोड़ी संग्रहीत करता है, जिससे डेटा को पृष्ठ सत्र की अवधि के लिए जारी रखा जा सकता है।
sessionStorage.getItem() सेशनस्टोरेज से दी गई कुंजी से जुड़ा मान पुनर्प्राप्त करता है।

वेब स्टोरेज में वस्तुओं को प्रभावी ढंग से संग्रहीत और पुनर्प्राप्त करना

जावास्क्रिप्ट में, और वेब स्टोरेज ऑब्जेक्ट हैं जो आपको ब्राउज़र में कुंजी-मूल्य जोड़े को सहेजने की अनुमति देते हैं। हालाँकि, ये भंडारण समाधान केवल स्ट्रिंग्स का समर्थन करते हैं, जिसका अर्थ है कि जावास्क्रिप्ट ऑब्जेक्ट को सीधे संग्रहीत करने का प्रयास करने से ऑब्जेक्ट को स्ट्रिंग प्रतिनिधित्व में परिवर्तित कर दिया जाएगा . ऑब्जेक्ट को प्रभावी ढंग से संग्रहीत करने के लिए, आपको उन्हें JSON स्ट्रिंग का उपयोग करके परिवर्तित करने की आवश्यकता है JSON.stringify(). यह विधि एक जावास्क्रिप्ट ऑब्जेक्ट लेती है और एक JSON स्ट्रिंग लौटाती है, जिसे संग्रहीत किया जा सकता है या .

संग्रहीत ऑब्जेक्ट को पुनः प्राप्त करने के लिए, आपको JSON स्ट्रिंग को वापस जावास्क्रिप्ट ऑब्जेक्ट में परिवर्तित करना होगा . यह विधि एक JSON स्ट्रिंग लेती है और संबंधित जावास्क्रिप्ट ऑब्जेक्ट लौटाती है। ऊपर दिए गए उदाहरणों में दी गई स्क्रिप्ट इस प्रक्रिया को प्रदर्शित करती हैं। सबसे पहले, एक ऑब्जेक्ट बनाया जाता है और उसे JSON स्ट्रिंग में परिवर्तित किया जाता है में संग्रहीत होने से पहले का उपयोग करते हुए localStorage.setItem(). ऑब्जेक्ट को पुनः प्राप्त करने के लिए, JSON स्ट्रिंग प्राप्त की जाती है का उपयोग करते हुए और फिर वापस जावास्क्रिप्ट ऑब्जेक्ट का उपयोग करके पार्स किया गया .

लोकलस्टोरेज में जावास्क्रिप्ट ऑब्जेक्ट्स को स्टोर करना और पुनः प्राप्त करना

लोकलस्टोरेज के लिए जावास्क्रिप्ट और JSON का उपयोग करना

// Create an object
var testObject = {'one': 1, 'two': 2, 'three': 3};

// Convert the object to a JSON string and store it in localStorage
localStorage.setItem('testObject', JSON.stringify(testObject));

// Retrieve the JSON string from localStorage and convert it back to an object
var retrievedObject = JSON.parse(localStorage.getItem('testObject'));

// Verify the type and value of the retrieved object
console.log('typeof retrievedObject: ' + typeof retrievedObject);
console.log('Value of retrievedObject: ', retrievedObject);

// Output should be:
// typeof retrievedObject: object
// Value of retrievedObject: { one: 1, two: 2, three: 3 }

सेशनस्टोरेज में जावास्क्रिप्ट ऑब्जेक्ट्स को संग्रहीत और पुनर्प्राप्त करना

सेशनस्टोरेज के लिए जावास्क्रिप्ट और JSON का उपयोग करना

// Create an object
var testObject = {'one': 1, 'two': 2, 'three': 3};

// Convert the object to a JSON string and store it in sessionStorage
sessionStorage.setItem('testObject', JSON.stringify(testObject));

// Retrieve the JSON string from sessionStorage and convert it back to an object
var retrievedObject = JSON.parse(sessionStorage.getItem('testObject'));

// Verify the type and value of the retrieved object
console.log('typeof retrievedObject: ' + typeof retrievedObject);
console.log('Value of retrievedObject: ', retrievedObject);

// Output should be:
// typeof retrievedObject: object
// Value of retrievedObject: { one: 1, two: 2, three: 3 }

वेब संग्रहण के लिए उन्नत तकनीकें

HTML5 का उपयोग करते समय और , डेवलपर्स को अक्सर केवल स्ट्रिंग्स की तुलना में अधिक जटिल डेटा संग्रहीत करने की आवश्यकता होती है। जबकि JSON क्रमबद्धता और डिसेरिएलाइज़ेशन बुनियादी वस्तुओं के लिए प्रभावी हैं, अधिक उन्नत परिदृश्यों के लिए अतिरिक्त विचारों की आवश्यकता हो सकती है। उदाहरण के लिए, यदि आप गहराई से निहित वस्तुओं या तरीकों वाली वस्तुओं के साथ काम कर रहे हैं, तो आपको अधिक परिष्कृत दृष्टिकोण की आवश्यकता है। एक सामान्य तकनीक है लाइब्रेरी का उपयोग करना जैसे कि या circular-json वृत्ताकार संदर्भों और अधिक जटिल वस्तु संरचनाओं को संभालने के लिए।

ये पुस्तकालय मानक का विस्तार करते हैं और सर्कुलर संदर्भों के साथ वस्तुओं के क्रमबद्धता और अक्रमांकन का समर्थन करने के तरीके, वेब स्टोरेज में वस्तुओं को संग्रहीत करने के लिए अधिक मजबूत समाधान सक्षम करते हैं। एक अन्य विचार डेटा संपीड़न है। बड़ी वस्तुओं के लिए, आप जैसे पुस्तकालयों का उपयोग कर सकते हैं डेटा को संग्रहीत करने से पहले उसे संपीड़ित करना localStorage या , उपयोग की गई जगह की मात्रा को कम करना। यह उन अनुप्रयोगों के लिए विशेष रूप से उपयोगी हो सकता है जिन्हें क्लाइंट-साइड डेटा की महत्वपूर्ण मात्रा संग्रहीत करने की आवश्यकता होती है।

  1. क्या मैं फ़ंक्शंस को स्टोर कर सकता हूँ? या ?
  2. नहीं, फ़ंक्शंस को सीधे वेब स्टोरेज में संग्रहीत नहीं किया जा सकता है। आप फ़ंक्शन कोड को एक स्ट्रिंग के रूप में संग्रहीत कर सकते हैं और उपयोग कर सकते हैं इसे फिर से बनाने के लिए, लेकिन सुरक्षा जोखिमों के कारण आमतौर पर इसकी अनुशंसा नहीं की जाती है।
  3. मैं वस्तुओं में वृत्ताकार संदर्भों को कैसे संभालूँ?
  4. जैसे पुस्तकालयों का उपयोग करें या जो जावास्क्रिप्ट ऑब्जेक्ट्स में परिपत्र संदर्भों को संभालने के लिए डिज़ाइन किए गए हैं।
  5. भंडारण सीमा किसके लिए है ?
  6. के लिए भंडारण सीमा आम तौर पर यह लगभग 5MB का होता है, लेकिन यह ब्राउज़रों के बीच भिन्न हो सकता है।
  7. क्या मैं डेटा को संग्रहीत करने से पहले उसे संपीड़ित कर सकता हूँ?
  8. हाँ, आप जैसे पुस्तकालयों का उपयोग कर सकते हैं अपने डेटा को संग्रहीत करने से पहले उसे संपीड़ित करना या .
  9. मैं वस्तुओं की एक श्रृंखला कैसे संग्रहीत करूं?
  10. का उपयोग करके सरणी को JSON स्ट्रिंग में कनवर्ट करें इसे संग्रहीत करने से पहले या .
  11. क्या संवेदनशील डेटा संग्रहीत करना सुरक्षित है? ?
  12. नहीं, संवेदनशील डेटा संग्रहीत करना सुरक्षित नहीं है क्योंकि यह जावास्क्रिप्ट के माध्यम से पहुंच योग्य है और यदि साइट पर हमला होता है तो इससे समझौता किया जा सकता है।
  13. क्या मैं उपयोग कर सकता हूँ विभिन्न डोमेन में?
  14. नहीं, एक ही मूल तक सीमित है, जिसका अर्थ है कि इसे विभिन्न डोमेन तक नहीं पहुँचा जा सकता है।
  15. यदि उपयोगकर्ता अपना ब्राउज़र डेटा साफ़ कर दे तो क्या होगा?
  16. सारा डेटा संग्रहीत है और यदि उपयोगकर्ता अपना ब्राउज़र डेटा साफ़ कर देता है तो हटा दिया जाएगा।

HTML5 वेब स्टोरेज में ऑब्जेक्ट्स को प्रभावी ढंग से संग्रहीत और पुनर्प्राप्त करने के लिए ऑब्जेक्ट्स को JSON स्ट्रिंग्स में परिवर्तित करने की आवश्यकता होती है और फिर उन्हें वापस पार्स करना . यह विधि सुनिश्चित करती है कि डेटा विभिन्न ब्राउज़र सत्रों में बरकरार और प्रयोग योग्य बना रहे। इन तकनीकों को समझने और उपयोग करके, डेवलपर्स अधिक जटिल डेटा प्रबंधन कार्यों के लिए लोकलस्टोरेज और सेशनस्टोरेज का लाभ उठा सकते हैं, जिससे उनके वेब अनुप्रयोगों की कार्यक्षमता और प्रदर्शन में वृद्धि हो सकती है।