Jim*_*Jim 6 javascript serialization json
在我的Web应用程序中,我使用JSON.stringify()序列化对象以进行存储,如此处所述.这很棒,我可以轻松地从JSON字符串重新创建对象,但是我丢失了所有对象的方法.有没有一种简单的方法将这些方法添加回我正在忽略的对象 - 可能涉及原型设计,我不太熟悉的东西?
或者只是为了这样做而创建我自己的精细功能?
编辑:理想情况下,我正在寻找类似的东西:
Object.inheritMethods(AnotherObject);
Run Code Online (Sandbox Code Playgroud)
调用 JSON.parse 后获得对象后,您就有很多选择。这里有几个例子。
米辛
有很多技术可以做到这一点,本文对此进行了很好的描述。但是,这是一个简单的示例,不需要任何新的语言功能。请记住,对象本质上只是一个映射,因此 JS 可以轻松地向对象添加其他属性。
var stuffToAdd = function() {
this.name = "Me";
this.func1 = function() {
print(this.name);
}
this.func2 = function() {
print("Hello again");
}
}
var obj = JSON.parse("{}");
stuffToAdd.call(obj);
Run Code Online (Sandbox Code Playgroud)原型
使用Felix 提到的Object.create方法。由于这仅在 ES5 中提供,因此您可能需要使用填充程序来保证其可用性。