मैं टाइपप्रति उपयोग कर रहा हूँ कुछ वर्गों को परिभाषित करने के लिए और जब मैं एक संपत्ति बनाने के लिए, यह निम्नलिखित plunkr में Class1
के बराबर उत्पन्न करता है:Object.defineProperty serializing से JSON.stringify से बचाता है यह
http://plnkr.co/edit/NXUo7zjJZaUuyv54TD9i?p=preview
var Class1 = function() {
this._name = "test1";
}
Object.defineProperty(Class1.prototype, "Name", {
get: function() { return this._name; },
set: function(value) { this._name = value; },
enumerable: true
});
JSON.stringify(new Class1()); // Will be "{"_name":"test1"}"
जब serializing, यह उस संपत्ति को आउटपुट नहीं करता है जिसे मैंने अभी परिभाषित किया है।
instance2
और instance3
व्यवहार करते हैं क्योंकि मैं परिभाषित संपत्ति को क्रमबद्ध करके अपेक्षा करता हूं। (प्लंकर आउटपुट देखें)।
मेरा वास्तविक प्रश्न है: क्या यह सामान्य है?
यदि हां, तो मैं सबसे कुशल तरीके से इसके आसपास कैसे काम करूं?
मैं इसे उत्तर के रूप में चिह्नित कर रहा हूं क्योंकि मैं स्वयं जेसन को कार्यान्वित कर रहा हूं। मेरे पास सार्वजनिक संपत्तियों के लिए पहले से ही निजी सदस्यों का नक्शा था क्योंकि मैं इसे अपने एपीआई से कुछ टाइपऑन क्लास में कुछ JSON मैप करने के लिए उपयोग कर रहा था। टूजेसन विधियों में, मैं उलटा नामों के साथ सभी गुणों के साथ एक नई वस्तु बनाने के लिए बस उस मानचित्र का उपयोग करता हूं। मैं जल्द ही इसके बारे में ब्लॉग करूंगा। –