JSONजावास्क्रिप्ट में ऑब्जेक्ट्स मेमोरी में कैसे संग्रहीत हैं?
एक वस्तु की आधिकारिक दस्तावेज पर नाम/मान युग्म के एक अव्यवस्थित सेट है। एक वस्तु {{बाएं ब्रेस) के साथ शुरू होती है और} (दाएं ब्रेस) के साथ समाप्त होती है। प्रत्येक नाम है जिसके बाद: (कोलन) और नाम/मान जोड़े अलग हो जाते हैं, (अल्पविराम)।
नोट मैं जावास्क्रिप्ट नौसिखिया हूँ, और जावास्क्रिप्ट में नाम JSON (जावास्क्रिप्ट ऑब्जेक्ट नोटेशन) से ही, मैं यह सोचते हैं हूँ वस्तुओं JSON के रूप में ही हैं। अगर मुझे यह गलत लगता है तो कृपया मुझे सही करें।
उपर्युक्त परिभाषा से ऐसा लगता है कि जावास्क्रिप्ट ऑब्जेक्ट्स को शायद हैशैप या बीएसटी या कुछ समान डेटा-स्ट्रक्चर द्वारा कार्यान्वित किया जाता है।
लेकिन जब मैं नोड खोल में महत्वपूर्ण मान जोड़े डालता हूं, तो उन्हें क्रमबद्ध तरीके से डाला जाता है। यह वही मैं नोड खोल में करने की कोशिश की
> var a = {}
undefined
> a['k1'] = 'a1'
'a1'
> a['k3'] = 'a3'
'a3'
> a['k2'] = 'a2'
'a2'
> a['k4'] = 'a4'
'a4'
> a['k5'] = 'a5'
'a5'
> a
{ k1: 'a1',
k3: 'a3',
k2: 'a2',
k4: 'a4',
k5: 'a5' }
अब, मुद्रण a
कुंजी मान जोड़े प्रविष्टि के रूप में एक ही क्रम में लौटा दिया जाता है पर है। तो मेरे प्रश्न हैं:
- क्या मुझे कुंजी के लिए तेज़ लुकअप मिलते हैं? मेरा मतलब ओ की जटिलता (लॉग (एन)) या बेहतर है।
- यदि JSON एक बीएसटी, हैशमैप या कुछ समान डीएस जैसे डेटा-स्ट्रक्चर का उपयोग नहीं कर रहा है, तो स्मृति के तहत जेएसओएन ऑब्जेक्ट्स वास्तव में कैसे रखे गए हैं?
अद्यतन ठीक है, तो क्या जावास्क्रिप्ट वस्तुओं के बारे में। क्या कोई जावास्क्रिप्ट ऑब्जेक्ट्स के अंतर्निहित कार्यान्वयन पर टिप्पणी कर सकता है।
JSON एक संकेत है, जैसे XML एक और है। हालांकि यह जावास्क्रिप्ट ऑब्जेक्ट्स पर आधारित है, इसलिए नाम। इसके अलावा, कोई संबंध नहीं है। –
कोई "JSON ऑब्जेक्ट्स" नहीं हैं।यहां तक कि नाम को यह भी कहना चाहिए कि ("ऑब्जेक्ट नोटेशन ऑब्जेक्ट"?) – JJJ
@ फ़ोरियन मार्गन आपकी टिप्पणी के लिए धन्यवाद साथी। यह सहायक था। –