[英]Is there any way to convert Ember Object into plain javascript object?
[英]Is there any way in which we can convert plain object to class object?
我有一个Wallet
class, wallet
是这个 class 的一个实例。 我必须将JSON.stringify(wallet)
保存在一个文件中。 现在,当我执行JSON.parse(JSON.stringify(wallet))
时,它不再是一个 instanceof Wallet
。
如何将这个普通的 object 从JSON.parse
转换为intanceof
Wallet
?
您可以使用Object.assign(target, source)将普通 object 的属性分配给您的实例。
请务必阅读链接的 MDN 文档中提到的所有问题,尤其是在您有嵌套对象的情况下。
let plain = { foo: 'bar', count: 42 } class Complex { constructor() { this.foo = 'hello'; this.count = 10; } getCount() { return this.count; } getFoo() { return this.foo; } } let test = new Complex(); console.log(test.getFoo()); console.log(test.getCount()); console.log('==== assigning plain object ==='); Object.assign(test, plain); console.log(test.getFoo()); console.log(test.getCount());
只需使用Object.assign()
,如下所示:
const walletLiteral = JSON.parse(response);
const walletInstance = Object.assign(new Wallet(), walletLiteral);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.