我有一个对象(例如一个球),它具有在我的项目中使用的特定数据成员和函数,但我也从不同的服务器获取其他球,这些服务器发布球对象但在不同的层次结构中,例如:
class Ball {
int size;
string color;
}
因此,JSON中此类的实例将是:
{ ball: {
size: 3,
color: red
}}
但问题是当我得到一个不同的球级别,但逻辑仍然是相同的,例如我从其他服务器获得一个拥有这些数据成员的Boll:
Class Boll{
int mass;
View color;
}
Class View {
string color;
}
因此,JSON中的boll类的实例将是:
{ Boll: {
mass: 3,
view: {
color: red
}}
所以我们可以说这两个类彼此非常相似。
当我尝试解决这个问题时,我创建了一个Map<string, string>
并将我的类中的每个属性与另一个类放在一起但是当我想出复杂的对象(例如视图)时我无法上来想知道如何解决这个问题,在我的项目中,我正在处理一些严重的对象,所以我不能再使用旧的解决方案了。
答案 0 :(得分:0)
你的角色代码中可以有一个Ball对象:
class Ball {
mass: Number;
color: string;
}
从每个不同的请求中,因为您知道您在每个请求中映射到服务的格式映射,如此
public getBallsFromServerA(): Observable<Ball[]> {
return this.http.get('ballUrlA')
.map(response => { let balls: Ball[] = response.json()
.map(val => { return { mass: val.size, color: val.view.color};});
return balls;
})