Json字符串如何反序列成含数组的对象,且保留其方法

如题,使用过JSON.parse,但其反序列化出来后没法调用其方法。
也使用过深拷贝。但深拷贝遇到下面的TestAccessor 对象时,TestInfo里面的方法就没法调用了。
请问有其他方法在反序列化时,能保留这些方法信息吗?

export default class TestAccessor
{
public Idx:number=0;
public TestList:TestInfo[] = new Array();
}

利用数据重新创建一次对象不就行了,为什么总想一步到位…:sweat_smile:

你是说手写每个字段的赋值吗?但字段有很多,有点太麻烦了

加个构造方法,new的时候传参赋值
或者使用for…in… 来遍历对象属性来赋值

很多方法的,不一定要手动对每个字段赋值…

但这样就是深拷贝吧。。对象数组时,就会丢失元素的方法了。。

你把数据序列化json之后,只会包含原对象的属性。所以,你反序列化得到的array里的object也只有属性。

而你想要的是序列化之前的包含原对象的一个array,这里没有你想要的这个原对象,所以才会叫你实例化一个原对象,不 
管你是实例化时利用构造方法传参也好,还是实例化后利用objcet的对应属性来赋值也好,都能达到你最终想要的结果。 
你还有啥想不通的,陷入思维误区了!?

随手写的,可以看一下。NewClass.zip (695 字节)

1赞