जवाब ऊपर पूरी तरह से करने के लिए, सत्य हैं जबकि समझें कि इसे निश्चित रूप से अधिक संदर्भ की आवश्यकता है।
जेएसओएन एक सार्वभौमिक प्रारूप है (एकाधिक समर्थन करने की भावना में, उम्मीद है कि सभी प्रोग्रामिंग भाषाएं) जो पूरी तरह से जावास्क्रिप्ट ऑब्जेक्ट्स का 1-से-1 मैपिंग नहीं है।
तो ऐसा क्यों होता है कि यह क्यों होता है कि JSON में (जैसा कि RFC 7159 द्वारा निर्दिष्ट किया गया है) जावास्क्रिप्ट के Array
अर्थ में कोई सहयोगी सरणी नहीं है - यानी सरणी जिनकी चाबियाँ तार हैं। आरएफसी चश्मा पढ़ने के बजाय समय लेने वाली हो सकते हैं, यह सबसे आसानी से JSON.org वेबसाइट जहां यह कहते हैं की चोटी पर देखा जा सकता है (नीचे जोर से कुछ मेरा है):
JSON दो संरचनाओं पर बनाया गया है:
- नाम/मूल्य जोड़े का संग्रह। विभिन्न भाषाओं में, यह एक वस्तु, रिकॉर्ड, struct, शब्दकोश, हैश तालिका, बंद सूची, या साहचर्य सरणी के रूप में महसूस किया है।
- एक आदेशों की सूची आदेश दिया गया। सबसे अधिक भाषाओं में, यह एक सरणी, वेक्टर, सूची, या अनुक्रम के रूप में महसूस किया है।
ये सार्वभौमिक डेटा संरचनाएं हैं। लगभग सभी आधुनिक प्रोग्रामिंग भाषाएं उन्हें एक रूप में या किसी अन्य रूप में समर्थन देती हैं।यह समझ में आता है कि प्रोग्रामिंग भाषाओं के साथ एक परिवर्तनीय डेटा प्रारूप भी इन संरचनाओं पर आधारित होगा।
JSON में, वे इन रूपों पर ले:
एक वस्तु एक अव्यवस्थित नाम/मान युग्म का सेट है। एक वस्तु {
(बाएं ब्रेस) के साथ शुरू होती है और }
(दाएं ब्रेस) के साथ समाप्त होती है। प्रत्येक नाम के बाद :
(कोलन) होता है और नाम/मान जोड़े ,
(अल्पविराम) से अलग होते हैं।
एक सरणी मूल्यों के एक आदेश दिया संग्रह है। एक सरणी [
(बाएं ब्रैकेट) से शुरू होती है और ]
(दायां ब्रैकेट) के साथ समाप्त होती है। मान ,
(अल्पविराम) द्वारा अलग किए गए हैं।
JSON.stringify
समारोह में इस तरह तरह से है कि कि सरणी संभालने एक सरणी होने के लिए लक्षित है, और सभी बंद प्रविष्टियों annotative कर रहे हैं, इतना तत्वों कि समारोह वस्तुओं रहे हैं की तरह इस संभालती है, वे तो बस फेंक दिया जाता है जेएसओएन प्रतिनिधित्व से बाहर यह लौटता है। दुर्भाग्य से इस व्यवहार को अनधिकृत जावास्क्रिप्ट संदर्भ में एक अच्छी तरह से परिभाषित और आसानी से समझने योग्य तरीके से दस्तावेज नहीं किया गया है जो MDN आज (2017-09-04) है, इसलिए अगर आप ओल 'मोज़िला की मदद करना चाहते हैं तो यहां कुछ कम लटकते फल हैं।
स्रोत
2017-09-04 09:32:29
'JSON.stringify ([]) ===" [] "'। वस्तुओं की आपकी सरणी शायद खाली है। – Gumbo
आवश्यक खाली नहीं है, लेकिन गैर-गणनीय तत्व। – evilpie
मैंने इसे हल कर लिया है, यह स्ट्रिंग सरणी कुंजी है। मेरे 8 घंटे के लिए अपना उत्तर पोस्ट नहीं कर सकता। – Chris