Typescript JSON to Class with "es5"
Posted
技术标签:
【中文标题】Typescript JSON to Class with "es5"【英文标题】: 【发布时间】:2018-02-10 19:07:07 【问题描述】:使用 ES5 将 JSON 转换为 Typescript 类的最佳/常用方法是什么(没有 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"]
在 Typescript 中,我可以将 JSON 转换为对象,甚至将其直接分配给课程对象(!-可怕的行为,但那是 JS-!)
但是对象没有任何方法例如。
例如所以lesson.date.getTime()
不起作用。
那么如何正确处理呢?
【问题讨论】:
How do I initialize a typescript object with a JSON object的可能重复 这是一个班级constructor
的工作。这样您就可以将日期字段转换为 Date 对象等,这样您就可以做到new Lesson(attributes)
【参考方案1】:
试试
// first declare variable
var lesson: Lesson;
// and then assign that
lesson=
name:"LessonName",
teacher:name:"masterT", age:120,
date:12345678912
scholars:["Jim","Bob","Jimbo"]
但问题是您只想在对象中放置一个值。
【讨论】:
这不是有效的 TypeScript,也不能正确回答问题(例如,date
属性不是 Date
对象。)
但是lesson
仍然不是Lesson
类的实例。您需要执行lesson = new Lesson()
之类的操作,然后开始设置属性。而date
仍然不是Date
。抱歉,这不是正确的答案。
你也可以在那里看到,同样的问题。
***.com/questions/40421100/…
你也可以使用这个库npmjs.com/package/serializer.ts以上是关于Typescript JSON to Class with "es5"的主要内容,如果未能解决你的问题,请参考以下文章
TypeScript 执行 console.log() 报错Cannot find name ‘console‘. Do you need to change
[TypeScript] Configuring TypeScript Which Files to Compile with "Files" and "OutDir&q
How to auto-generate a C# class file from a JSON string [closed]
项目windows运行正常,而Linux上运行报错: class path resource [kwhRules.json] cannot be resolved to absolute file
ueditor百度富文本编辑器linux下报错: class path resource [config.json] cannot be resolved to absolute file path