【发布时间】:2018-11-13 19:52:58
【问题描述】:
我正在从后端端点检索已上传文件的列表,该端点以下列格式返回:
[
{
"filename": "setup.cfg",
"id": 1,
"path": C:\\back-end\\uploads\\setup.cfg",
"uploaded_at": "Fri, 01 Jun 2018 09:25:19 -0000"
},
{
"filename": "57760713_1467275948.jpg",
"id": 2,
"path": "C:\\back-end\\uploads\\57760713_1467275948.jpg",
"uploaded_at": "Mon, 04 Jun 2018 09:09:59 -0000"
},
.
.
.
]
并且我有以下 TypeScript 界面可以与它们对齐:
export interface UploadModel {
id: number;
name: string;
path: string;
uploadedAt: Date;
}
如您所见,检索到的数据使用snake_case命名约定为uploaded_at,而接口使用camelCase约定为uploadedAt。
我想用下面的sn-p从后端获取数据:
getUploads(): Observable<UploadModel[]> {
this.http.get(UPLOADS_ENDPOINT)
.map((response: Response) => {
// parse the json response here, and return an array of UploadModels
});
}
是否有任何巧妙的方法来映射这两种表示,而不通过 JSON 对象数组进行映射?
【问题讨论】:
-
未内置在 Angular 中。您必须自己编写一些东西或找到合适的库。
-
@jonrsharpe 很抱歉听到但谢谢:)
标签: json angular typescript parsing