我有一个 ES6 中的 Javascript 类,我想编写一个 LoadFromJson 方法。
问题是 JSON.parse 返回一个对象,而我无法编写:
//MyObject.loadFromJson method
loadFromJson(JsonString)
{
this=JSON.parse(jsonString); //INVALID//
}
我如何在类里面实现这一目标。 我知道我可以写:
myObject = JSON.parse(jsonString);
但这不是我想要的,我需要:
myObject = new MyObjectClass();
myObject.loadFromJson(JsonString);
我想在我的对象中实现“撤消机制”并能够保存/恢复该对象。
最佳答案
您无法分配给此
。这是一个从解析对象中复制所有属性的示例。
class MyObjectClass {
loadFromJSON(jsonString) {
const parsed = JSON.parse(jsonString);
for (const key in parsed) this[key] = parsed[key];
}
}
const myObject = new MyObjectClass();
myObject.loadFromJSON('{"a":2,"b":null,"c":"abc"}');
console.log(myObject);
关于javascript 从解析的对象中调用 Json Parse,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38986209/