带有日期类型的 Typescript GET 对象
Posted
技术标签:
【中文标题】带有日期类型的 Typescript GET 对象【英文标题】:Typescript GET object with date type 【发布时间】:2017-12-16 02:15:27 【问题描述】:我在前端有 python REST API 和 angular2。现在我需要使用日期类型字段解析对对象应答的 GET 请求。我的 json 示例:
"date_answer": "2015/07/05",
"id": 1,
"text": "some text",
我在控制器中使用此代码:
getAnswers() : Observable<Answer[]>
return this.http.get(this.answerUrl)
.map((res:Response) => res.json())
.catch((error:any) => Observable.throw(error.json().error || 'Server error'));
我要做的是解决我在构造函数中解析日期字段的问题,如下所示:
export class Answer
id: number;
text: string;
date_answer: Date;
constructor(
id: number,
text: string,
date_string: string
)
this.date_answer = new Date(date_string)
但是这种方法没有帮助。也许有一些更好的方法可以从 json 获取日期作为日期类型。
【问题讨论】:
日期是否总是相同的格式 yyyy/mm/dd ? @codtex 我在 json 中只有两个元素用于测试。它们都有相同的格式 yyyy/mm/dd。 一个简单的方法可能是new Date(Date.parse('2015/07/05'))
将返回类似2015-07-04T21:00:00.000Z
的内容,具体取决于您所在的时区。另一个不太好的解决方案是以肮脏的方式拆分和解析日期:)
为什么上述方法不起作用?
你问的是日期类型吗?
【参考方案1】:
我正在使用pleerock的class-transformer来实现解析。
也许你看看它。
【讨论】:
以上是关于带有日期类型的 Typescript GET 对象的主要内容,如果未能解决你的问题,请参考以下文章
TypeScript是否支持带有对象初始值设定项的构造函数?
TypeScript - 对象初始值设定项中的 Get 属性问题
在“”类型上找不到带有“数字”类型参数的索引签名 - Typescript 编译器错误
如何使用 get 方法访问 Typescript 中对象的字段?