Is there a better way to do this?
function Person(name)
{
this._type='Person';
this.name=name;
this.hello = function(){
alert('Hello '+this.name);
};
}
function object_to_instance(key, value)
{
if (!value.hasOwnProperty('_type'))
return value;
var obj= eval('new '+value._type+'()');
for (var property in value)
obj[property]=value[property];
return obj;
}
var people = [new Person('Harry'), new Person('Sally')];
var people_json = JSON.stringify(people);
var new_people = JSON.parse(people_json, object_to_instance);
new_people[0].hello();
var obj = new window[value._type](value.name);(I think you could at least; I don't use classes in js). \$\endgroup\$