使用JSON.parse将json字符串"{a=‘test’}"解析成如下对象:
class A {
public a: string = "a";
public b: string = "b";
}
期望是得到的对象里的b是"b",实际上是undefined,有没有方法能得到期望的结果?
使用JSON.parse将json字符串"{a=‘test’}"解析成如下对象:
class A {
public a: string = "a";
public b: string = "b";
}
期望是得到的对象里的b是"b",实际上是undefined,有没有方法能得到期望的结果?
1 回答566 阅读✓ 已解决
1.3k 阅读
537 阅读
JSON.parse将json字符串"{a='test'}"解析成的是一个Object,如果通过as转化为A类型,这样并不会改变变量的实际类型。类型转换仅仅是告诉编译器或运行时系统,将某个值视为特定类型来处理,但并不会改变这个值的内部表示或实际类型。也就是说得到的对象实际上并没有b属性,所以得到的是undefined。
如果想要实现让未传字段使用默认值,参考示例: