मैंने window.JSON
ऑब्जेक्ट के माध्यम से सुरक्षित रूप से और कुशलतापूर्वक जेएसओएन पार्सिंग/क्रमबद्धीकरण के कुछ ब्राउज़रों का समर्थन करने वाले कुछ ब्राउज़रों के संदर्भ देखे हैं, लेकिन विवरण आने के लिए कठिन हैं। क्या कोई सही दिशा में इंगित कर सकता है? इस ऑब्जेक्ट का खुलासा करने के तरीके क्या हैं? यह किस ब्राउजर के तहत समर्थित है?ब्राउज़र-मूल JSON समर्थन (window.JSON)
उत्तर
सभी आधुनिक ब्राउज़रों देशी JSON एन्कोडिंग/डिकोडिंग (Internet Explorer 8+, फ़ायरफ़ॉक्स 3.1+, सफारी 4, और क्रोम 3+) समर्थन करते हैं। असल में, JSON.parse(str)
str
में JSON स्ट्रिंग पार्स जाएगा और एक ऑब्जेक्ट, और JSON.stringify(obj)
वस्तु obj
की JSON प्रतिनिधित्व वापस आ जाएगी।
MDN article पर अधिक जानकारी।
मुझे पता है कि समर्थन व्यापक नहीं है, लेकिन इस विधि का उपयोग करना एक स्ट्रिंग में eval() से बहुत तेज़ और सुरक्षित होना चाहिए, इसलिए मैं इसका उपयोग करना चाहता हूं जहां यह उपलब्ध है। अन्य ब्राउज़रों से समर्थन पर कोई विचार? – levik
मैंने यह नहीं कहा कि इसका उपयोग न करें, मैंने कहा कि इस पर भरोसा न करें। निश्चित रूप से यह देखने के लिए जांचें कि यह उपलब्ध है (इस बिंदु पर केवल आईई 8 और कुछ एफएक्स बीटा उपयोगकर्ता) और यदि ऐसा है तो इसका उपयोग करें, लेकिन मैं बस इतना कह रहा हूं कि आपको ब्राउज़र का समर्थन नहीं करना चाहिए। अभी तक, वे दोनों ही एकमात्र ब्राउज़र हैं जो इसका समर्थन करते हैं, और वेबकिट अभी इस पर काम कर रहा है, इसलिए शायद यह जल्द ही Google क्रोम और सफारी में होगा। –
ओह, और एक तरफ नोट पर, कभी भी eval() JSON तार। इसके बजाय, उपलब्ध कई JSON पार्सिंग पुस्तकालयों में से एक का उपयोग करें। –
json2.js का उपयोग करने का लाभ यह है कि यह केवल एक पार्सर स्थापित हो जाएगा अगर ब्राउज़र पास पहले से कोई नहीं करता है। आप पुराने ब्राउज़र के साथ संगतता बनाए रख सकते हैं, लेकिन मूल JSON पार्सर (जो अधिक सुरक्षित और तेज़ है) का उपयोग करें, यदि यह उपलब्ध हो। मूल निवासी JSON साथ
ब्राउज़र:
- IE8 +
- फ़ायरफ़ॉक्स 3.1+
- सफारी 4.0.3+
- ओपेरा 10.5+
जी
[विस्तार musicfreak टिप्पणी]
आप jQuery का उपयोग कर रहे हैं, तो का उपयोग parseJSON
var obj = jQuery.parseJSON(data)
आंतरिक यह जाँच करता है ब्राउज़र .JSON.parse का समर्थन करता है, और (यदि उपलब्ध हो) कॉल देशी window.JSON.parse है।
यदि नहीं, तो खुद को पार्स करता है।
jQuery-1.7.1.js - 555 लाइन ...
parseJSON: function(data) {
if (typeof data !== "string" || !data) {
return null;
}
// Make sure leading/trailing whitespace is removed (IE can't handle it)
data = jQuery.trim(data);
// Attempt to parse using the native JSON parser first
if (window.JSON && window.JSON.parse) {
return window.JSON.parse(data);
}
// Make sure the incoming data is actual JSON
// Logic borrowed from http://json.org/json2.js
if (rvalidchars.test(data.replace(rvalidescape, "@")
.replace(rvalidtokens, "]")
.replace(rvalidbraces, ""))) {
return (new Function("return " + data))();
}
jQuery.error("Invalid JSON: " + data);
}
rvalidchars = /^[\],:{}\s]*$/,
rvalidescape = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,
rvalidtokens = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g,
किसी के लाभ के जो इस सूत्र में चलाता है के लिए - एक अप-टू-डेट, ब्राउज़र की निश्चित सूची का समर्थन करने वाले के लिए JSON ऑब्जेक्ट look here.। एक संक्षिप्त सामान्य उत्तर - वर्ष 2013+ में वास्तव में महत्वपूर्ण सभी ब्राउज़रों।
- 1. बहाल ओवरराइड window.JSON वस्तु
- 2. JSON समर्थन करेगा?
- 3. आईओएस में मूल JSON समर्थन?
- 4. क्या वसंत समर्थन JSON कॉन्फ़िगरेशन करता है?
- 5. मोबाइल ब्राउज़र पर मूल JSON ऑब्जेक्ट समर्थन
- 6. JSON arrays के लिए JSON SerDe जो JSON arrays का समर्थन करता है
- 7. जावास्क्रिप्ट में JSON समर्थन का पता लगाने के लिए कैसे?
- 8. क्या jQuery ने JSON समर्थन में बनाया है?
- 9. JSON diff, कुछ JSON एक और JSON
- 10. JSON JSON ट्रांसफॉर्मर
- 11. JSON
- 12. JSON
- 13. JSON
- 14. JSON
- 15. JSON
- 16. JSON
- 17. Json
- 18. JSON
- 19. JSON
- 20. JSON
- 21. JSON
- 22. JSON
- 23. JSON
- 24. JSON
- 25. json
- 26. JSON
- 27. JSON
- 28. JSON
- 29. JSON
- 30. JSON
[JSON ऑब्जेक्ट] के लिए देशी समर्थन (http://ecma262-5.com/ELS5_Section_15 साथ ब्राउज़रों पर जानकारी के लिए देखें [मैं JSON पार्स उपयोग कर सकते हैं जब?] (Http://caniuse.com/json)। htm # Section_15.12)। – outis