我试图理解如何使用http.get和Angular 2中的Observables将服务调用的结果映射到对象。
看看这个普朗克
我希望返回一个可观察的类型的人的方法。然而!我无法访问属性fullName。我猜想我将不得不创建一个类的新实例,并使用类构造函数将响应映射到这个新对象。但是你如何在方法中做到这一点?
import {Injectable} from '@angular/core';
import {Http, Response} from '@angular/http';
import {Observable} from 'rxjs/Rx';
export class PersonWithGetProperty {
constructor(public firstName: string, public lastName: string){}
get fullName(): string {
return this.firstName + ' ' + this.lastName;
}
}
@Injectable()
export class PersonService {
constructor(private http: Http) {
}
getPersonWithGetProperty(): Observable<PersonWithGetProperty> {
return this.http.get('data/person.json')
.map((response: Response) => <PersonWithGetProperty>(response.json()));
}
}
问题是您强制解析的json执行类的行为。
应用
幸运的是,您已经完成了一半,只需在解析输出后添加另一个
map
:
@Injectable()
export class PersonService {
constructor(private http: Http) {
}
getPersonWithGetProperty(): Observable<PersonWithGetProperty> {
return this.http.get('data/person.json')
.map((response: Response) => response.json())
.map(({firstName, lastName}) => new PersonWithGetProperty(firstName, lastName));
}
}
编辑
为此,您需要确保您正在使用RxJS 5:
import 'rxjs/add/operator/map'
如果您想要未来的安全,您应该使用RxJS 5更高版本中引入的
管道
语法
// Either
import {map} from 'rxjs/operators'
return this.http.get('data/person.json').pipe(
map((response: Response) => response.json()),
map(({firstName, lastName}) => new PersonWithGetProperty(firstName, lastName))
);
我试图使用http://modelmapper.org/表示DAO和模型类的库- 模型类- 道类- 公共类主题{私有字符串名称; 映射逻辑 ModelMapper似乎不起作用,它给我提供了主题类项目,而不是主题模型类项目
我必须用不同的键和值将rest模板响应映射到我的DTO。目前我正在从rest api获得这个json响应 我想将其映射到我的 DTO 中,以便能够保存到数据库中 我想要的是只获得相同的动态密钥,以匹配上述api的响应。目前我正在这样做,但似乎我没有设置相同键的正确值。 执行此操作后,我的数据库中出现空值。
问题内容: 我正在尝试将JSON文件映射到类对象,然后根据新接收的JSON更新卡。 我的JSON结构是这样的 我的班级看起来像这样: 如何将JSON文件中的值映射到CardInfo类创建的对象的字段中? 更新资料 以下试用版在 ci.description上 打印为null ,是否表示从未创建该对象? 更新2 打印cardInfo给出以下内容: {$ class:FirstCard,id:1,说明
在使用HBase和Parquet时,我编写了从HBase获取值并将值映射到对象类的代码,但在使用Dataset复制Parquet时遇到了问题。 HBase: 我将数据从拼花地板读入数据集,但simple无法复制上述方法。 我只需要知道如何映射
我正在使用一个简单的Java命令行,需要将log4j插入到我的应用程序中,因此我遵循本教程: http://veerasundar.com/blog/2009/07/log4j-tutorial-adding-log4j-logging-to-your-project/ 因此,我完成了以下步骤: > 我将log4jjar文件放入我的项目库中。 我把log4j放进去了。属性转换为配置包,我使用以下最
问题内容: 我在了解如何实现这一目标方面遇到了问题。 基本上我们有一个API,用户发送以下格式的JSON :(如果代码不完美,请原谅,但您可以理解) 好的,我不确定我是否正确设置了JSON格式,但是现在这是我的问题。 我有一个带有参数Name,Last的类,还有一个作为其成员之一的对象Client和Property Date。 像这样: 因此,基本上,我不确定如何获取JSON,然后将其映射到我的对