इस पोस्ट में प्रति बहस: json-रूपांतरण-में-जावास्क्रिप्ट
इस पोस्ट में प्रति बहस: json-रूपांतरण-में-जावास्क्रिप्ट
जवाबों:
हां, शीर्ष-स्तर JSON-टेक्स्ट के रूप में एक सरणी कानूनी है।
JSON को परिभाषित करने वाले तीन मानक दस्तावेज हैं: RFC 4627 , RFC 7159 (जो RFC 4627 का पालन करता है), और ECMA-404 । वे भिन्न होते हैं जिसमें शीर्ष-स्तरीय तत्व वे अनुमति देते हैं, लेकिन सभी शीर्ष-स्तरीय तत्व के रूप में एक वस्तु या एक सरणी की अनुमति देते हैं।
हां , लेकिन आपको कुछ परिदृश्यों में JSON अपहरण के कारण रूट को ऑब्जेक्ट बनाने पर विचार करना चाहिए । यह जावास्क्रिप्ट में सरणी कंस्ट्रक्टर को ओवरराइड करने के आधार पर एक सूचना प्रकटीकरण भेद्यता है।
यह ECMAScript विनिर्देशन से है।
JSONText: JSONValue JSONValue: JSONNullLiteral JSONBooleanLiteral JSONObject JSONArray JSONString JSONNumber
[]
और यह मान्य होगा।
कुछ भ्रम है, अन्य टिप्पणियों में देखा गया है। "एप्लिकेशन / json" मीडिया प्रकार केवल JSON- RFC प्रति JSON -text के लिए शीर्ष-स्तर पर केवल ऑब्जेक्ट या सरणी की अनुमति देता है । हालांकि, पार्सर के लिए कोई भी JSON मान स्वीकार्य है, जैसा कि ECMAScript विनिर्देश में देखा गया है।