KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I know how to use JSON to create objects, but there doesn't seem to be away to use JSON to create an object that is of a specific object type. Here's an example of an Object and creating an instance of it: Person = function() { }; Person.prototype = { FirstName: null, GetFirstName: function() { return this.FirstName; } }; //Create an instance of the Person Object var me = new Person(); me.FirstName = "Chris"; alert(me.GetFirstName()); //alert the FirstName property Now, I would like to use JSON to create a new Person object so that the GetFirstName function works on it. Here's something like that I'm looking to do (but this code doesn't work): var you = new Person() { FirstName: "Mike" }; // OR var you = new Person{ FirstName: "Mike" }; Is there anyway to use JSON to create an object that is of a specific type? UPDATE: My sample with the Person object is just to simplify the question. In fact, I am unable to modify the constructors of the actual objects that I need to create instances of. The objects are part of a third-party library. UPDATE: Using some of the suggestions below, I was able to figure out a way to create an object that inherits from the original, and accept JSON in it's constructor. This is neat! personWrapper = function(obj){ for(var o in obj){ this[o] = obj[o]; } }; personWrapper.prototype = new Person(); var you = new personWrapper({FirstName: "Chris"}); alert(you.GetFirstName()); alert(you instanceof Person); // returns True - we are successfully inheriting from Person!
Tags (comma-separated)
Save Edits
Cancel