2017-09-01 145 views
-1

也许是一个老问题。但我没有找到正确的答案。Typscript JSON类与“es5”

什么是最好的/常用的方式投下JSON成一类打字稿ES5(无Object.assign())。

例如

export class Lesson{ 
name:string; 
teacher:Teacher; 
date:Date; 
scholars:Array<string>; //or string[] ... I dont care 
} 

的JSON看起来像:

{ 
name:"LessonName", 
teacher:{name:"masterT", age:120}, 
date:12345678912 
scholars:["Jim","Bob","Jimbo"] 
} 

在打字稿我可以投的JSON的对象,甚至将其分配直奔一个课程对象(-horrible行为,但是那JS- !)

但是该对象没有任何方法,例如。

例如所以lesson.date.getTime()不会工作。

那么如何正确处理? 或者有没有一个很好的教程/文件?

+0

可能的重复[如何用JSON对象初始化打印对象](https://stackoverflow.com/questions/22885995/how-do-i-initialize-a-typescript-object-with-a- json-object) – jcalz

+0

这是一个类的'构造函数'的工作。这样,就可以把日期字段为Date对象等,所以你可以做'新课程(属性)' – Fotis

回答

0

尝试

// first declare variable 
var lesson: Lesson; 

// and then assign that 
lesson={ 
name:"LessonName", 
teacher:{name:"masterT", age:120}, 
date:12345678912 
scholars:["Jim","Bob","Jimbo"] 
} 

但问题是,你想要把只值中的对象。

+0

这是无效的打字稿,也没有正确地回答这个问题(例如,'date'属性不是'Date'对象。) – jcalz

+0

我编辑了回应 –

+0

但是'lesson'仍然不是'Lesson'类的一个实例。你需要做一些像'lesson = new Lesson()',然后开始设置属性。而'日期'仍然不是'日期'。对不起,但这不是一个正确的答案。 – jcalz