C# 将服务器返回的内容映射到Angular服务中的typescript类型
我正在从服务器接收类型为Event的数组C# 将服务器返回的内容映射到Angular服务中的typescript类型,c#,angular,typescript,rxjs,C#,Angular,Typescript,Rxjs,我正在从服务器接收类型为Event的数组 public int Id { get; set; } public string Name { get; set; } public DateTime Start { get; set; } public DateTime End { get; set; } 在Angular和TypeScript中,我需要转换为以下类,因为我在UI中有4个单独的选择器2个日期选择器,2个时间选择器: id: number; name: string; s
public int Id { get; set; }
public string Name { get; set; }
public DateTime Start { get; set; }
public DateTime End { get; set; }
在Angular和TypeScript中,我需要转换为以下类,因为我在UI中有4个单独的选择器2个日期选择器,2个时间选择器:
id: number;
name: string;
startDate: Date;
startTime: Date;
endDate: Date;
endDatetime: Date;
如何在event.service.ts中更改以下内容,以使用自定义代码进行映射,然后允许组件简单地订阅它
getEvents(): Observable<Event[]> {
return this.http.get<Event[]>(this.eventsUrl);
}
我不知道您打算如何更改数据,因此我将给出自己的示例:
[{
id: 1,
name: "John"
}]
数据模型角度:
export class Person {
public id: Number;
public name: string;
public idName: string;
}
服务代码:
getEvents(): Observable<Event[]> {
return this.http.get<any[]>(this.eventsUrl).map<any[], Person[]>(o => {
let result = [];
for (let item of o) {
let p: Person = {
id: item.id,
name: item.name,
idName: item.id + ": " + item.name
};
result.push(p);
}
return result;
});
}
我没有测试过它,但是类似的东西会处理返回的数据。.mapobject=>newObject?@John不认为这会起作用来自服务器的对象有两个属性,需要分解为四个属性。如果.map不适用于您,您可能需要进一步澄清您的情况。我添加了一个map示例,以防它有所帮助。