class MyClass { constructor() { this.foo = 3 } } var myClass = new MyClass()
我想将myClass对象序列化为json.
我能想到的一个简单方法是,因为每个成员实际上都是javascript对象(数组等).我想我可以维护一个变量来保存成员变量.
this.prop.foo = this.foo等等.
我期望为类对象找到一个toJSON / fromJSON库,因为我将它们与其他语言(如swift / java)一起使用,但找不到一个用于javascript的文件.
也许类构造太新了,或者我所要求的可以在没有库的情况下以某种方式轻松实现.
解决方法
与要在JS中进行字符串化的任何其他对象一样,您可以使用
JSON.stringify
:
JSON.stringify(yourObject);
class MyClass { constructor() { this.foo = 3 } } var myClass = new MyClass() console.log(JSON.stringify(myClass));
另外值得注意的是,您可以自定义stringify如何序列化对象,方法是给它一个toJSON
method.用于在结果JSON字符串中表示对象的值将是在该对象上调用toJSON方法的结果.