मैं जेएसओएन पार्सिंग के एक उचित बिट के साथ काम कर रहा हूं और हाल ही में नोड.जेएस और ब्राउज़रों के भीतर जावास्क्रिप्ट में गुजर रहा हूं और इस कन्डर्रम में घुस गया हूं।JSON.stringify प्रोटोटाइप मानों को क्रमबद्ध क्यों नहीं कर रहा है?
किसी भी निर्माता जो मैंने कन्स्ट्रक्टर का उपयोग करके बनाया है, पूरी तरह से JSON.stringify के माध्यम से पूरी तरह से क्रमबद्ध नहीं किया जा सकता है, UNLESS मैंने व्यक्तिगत रूप से निर्माता के भीतर सभी मानों को प्रारंभ किया! इसका मतलब है कि इन वर्गों को डिजाइन करने में मेरा प्रोटोटाइप अनिवार्य रूप से बेकार हो जाता है।
क्या कोई इस बात पर कुछ प्रकाश डाल सकता है कि निम्न उम्मीदों के अनुसार निम्नलिखित क्यों क्रमबद्ध नहीं है?
var ClassA = function() { this.initialisedValue = "You can see me!" };
ClassA.prototype = { initialisedValue : "You can't see me!", uninitialisedValue : "You can't see me!" };
var a = new ClassA();
var a_string = JSON.stringify(a);
क्या होता है:
a_string == { "initialisedValue": "आप मुझे देख सकते हैं!" }
मैं उम्मीद करेंगे:
a_string == { "initialisedValue": "आप मुझे देख सकते हैं!", "UninitialisedValue": "आप नहीं मुझे देख सकते हैं!" }
संभव डुप्लिकेट [? कैसे JSON को विरासत में मिली वस्तुओं stringify करने के लिए] (http://stackoverflow.com/questions/8779249/how-to-stringify-inherited-objects-to-json) – lonesomeday
http://stackoverflow.com/questions/5790620/how-to-stringify-a-whole- जावास्क्रिप्ट-ऑब्जेक्ट-सहित-प्रोटो-गुण – speg
मैं समझता हूं कि जेएसओएन के माध्यम से तरीकों को क्रमबद्ध नहीं किया जा सकता है, लेकिन धन्यवाद, जैसा कि आपने मुझे एक चर्चा के लिए इंगित किया है इसे बाहर करो। जाहिर है यह एक दस्तावेज 'मुद्दा' है, यह सुनिश्चित नहीं है कि मेरी खोजों ने इसे क्यों नहीं लाया। धन्यवाद! – killercowuk