gpt4 book ai didi

json - 如何从 typescript 中的json响应中获取日期对象

转载 作者:太空狗 更新时间:2023-10-29 16:53:18 25 4
gpt4 key购买 nike

这是我的 json:

{
"data": [
{
"comment": "3541",
"datetime": "2016-01-01"
}
]
}

这是模型:

export class Job {
constructor(comment:string, datetime:Date) {
this.comment = comment;
this.datetime = datetime;
}

comment:string;
datetime:Date;
}

查询:

getJobs() {
return this._http.get(jobsUrl)
.map((response:Response) => <Job[]>response.json().data)
}

问题是在转换到 Job[] 之后,我希望 datetime 属性为 Date 但它是字符串。它不应该转换到 Date 对象吗?我在这里缺少什么?

最佳答案

@Gunter 完全正确。我唯一想添加的实际上是如何反序列化 json 对象,将其日期属性保持为日期而不是字符串(从引用的帖子中看这种方法并不容易)。

这是我的尝试:

export class Helper
{
public static Deserialize(data: string): any
{
return JSON.parse(data, Helper.ReviveDateTime);
}

private static ReviveDateTime(key: any, value: any): any
{
if (typeof value === 'string')
{
let a = /\/Date\((\d*)\)\//.exec(value);
if (a)
{
return new Date(+a[1]);
}
}

return value;
}
}

例如,您可以在此处查看此方法:JSON.parse Function在 dateReviver 示例中。

希望这对您有所帮助。

关于json - 如何从 typescript 中的json响应中获取日期对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35917808/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com