मैं फ़ायरफ़ॉक्स 3.5 बी 4 का उपयोग कर रहा हूं।क्या JSON.parse() को डबल उद्धरण की आवश्यकता है?
यह अलर्ट [वस्तु वस्तु], [वस्तु वस्तु]:
var jsonString = '[{"foo": "one", "bar": 1}, {"foo": "two", "bar": 2}]';
var jsonObjects = JSON.parse(jsonString);
alert(jsonObjects);
यह कोई खाली स्ट्रिंग अलर्ट, अर्थात jsonObjects रिक्त है।
var jsonString = "[{'foo': '1', 'bar': 2}, {'foo': '3', 'bar': 4}]";
var jsonObjects = JSON.parse(jsonString);
alert(jsonObjects);
इसी प्रकार अनगिनत संपत्ति नामों के लिए, यानी {foo: '1', bar: 2}।
क्या चल रहा है? क्या मुझे कुछ स्पष्ट याद आ रहा है, या JSON.parse के साथ डबल और सिंगल उद्धरण के बारे में कोई नियम है? सभी तीन संस्करण eval के साथ ठीक काम करते हैं।
कहां कहता है कि शीर्ष संरचना एक वस्तु होनी चाहिए? [यह दस्तावेज़] (http://www.ietf.org/rfc/rfc4627.txt?number=4627) केवल एक सरणी का उदाहरण देता है, और [json.org] (http://json.org/) करता है इस आवश्यकता को निर्दिष्ट करने के लिए प्रतीत नहीं होता है। – Brendon
http://stackoverflow.com/a/4201631/977939 इसमें व्याख्या है: आरक्षित शब्द। – jpillora