【发布时间】:2021-06-11 18:22:13
【问题描述】:
我有一些像下面这样的类,我使用该类创建了一些对象。我想将此对象转换为包含所有嵌套对象的 json。并希望将 json 返回到 A 类的对象。
class A {
constructor(n) {
this.name = n;
this.mapOfA = new Map();
}
}
let a = new A("A");
let b = new A("B");
let c = new A("C");
let d = new A("D");
b.mapOfA.set("D", d);
a.mapOfA.set("B", b);
a.mapOfA.set("C", c);
let jsonString = JSON.stringify(a);
console.log(jsonString); //{"name":"A","mapOfA":{}}
JSON.stringify 只是做一个浅拷贝。我想要深拷贝,并且我想像以前一样将 json 字符串转换回 A 类的对象。
【问题讨论】:
-
一个类中包含的主要是方法,将一个类转换为JSON是不合理的,因为JSON不能包含函数。最重要的是,类本身是一个函数,它根本无法转换为 JSON。
标签: javascript json es6-class stringify