【发布时间】:2020-11-15 13:31:53
【问题描述】:
我目前正在使用 typescript 开发一个项目,并使用 toJSON 和 fromJSON 方法正确解析我的对象。
在我的一个类上调用 JSON.stringify() 时遇到一个奇怪的问题,它不会调用嵌套参数的 toJSON 方法。
以下是我的课程总结:
class TFClass {
...
toJSON(): ITFSerialized {
console.log('not printing')
...
}
}
class ConfigClass {
transfer_functions: TFClass[];
...
toJSON(): IConfigSerialized {
return Object.assign({}, this, {
transfer_functions: this.transfer_functions,
});
}
}
当我调用 JSON.stringify(<ConfigClass>obj) 时,transfer_functions 变量的类型为 TFClass[],因此它不会进入 TFClass toJSON 方法。
但是如果说 transfer_functions 是 TFClass 类型(不是数组),那么它可以输入相应的 toJSON 方法。
我可以做些改变来使它正常工作吗?
【问题讨论】:
标签: javascript json typescript class types