我正在开发一个Angular应用程序.我使用Typescript并拥有一个包含内置Set和Map类型的类.我的问题是我想将我的类的实例作为JSON存储在浏览器的localStorage中,但是当我尝试对它们进行字符串化时,我会得到这些类型的空字符串.
chrom的控制台示例:
> inst = new Object({
'elem': new Set(),
'str': 'somestring'
})
: Object {elem: Set(0), str: "somestring"}elem: Set(0)str: "somestring"}
> inst.elem.add('123');
: Set(1) {"123"}
> inst.elem.add('123');
: Set(1) {"123"}size: (...)__proto__: Set[[Entries]]: Array(1)0: "123"length: 1
> JSON.stringify(inst)
: "{"elem":{},"str":"somestring"}"
Run Code Online (Sandbox Code Playgroud)
我唯一能想到的是在字符串化之前将Sets和Maps分别递归转换为Arrays和Objects.但这听起来很费劲.
有没有更好的办法?谢谢.