我想使用angular 2 http.get
从json文件中获取json对象。我最终从文件中得到的是:
t_isScalar: falseoperator: tsource: t__proto__: Object
这是我的代码
@Injectable()
export class ValidateJSONSchemaService {
constructor(private http: Http) { }
getSchema(fileName): any {
return(this.http.get(fileName)
.map(this.extractData)
);
}
private extractData(res: Response) {
let body = res.json();
return body.data || {};
}
}
如何修复getSchema
使其返回json对象而不是:t_isScalar: falseoperator: tsource: t__proto__: Object
。请注意,当我更改文件名时,它返回相同的内容。我本来期望一个信息错误(我确实做错误处理,但代码永远不会出错)。
答案 0 :(得分:2)
您需要subscribe
来观察:
@Injectable()
export class ValidateJSONSchemaService {
constructor(private http: Http) { }
getSchema(fileName): any {
return(this.http.get(fileName)
.map(this.extractData).subscribe(data => console.log(data));
);
}
private extractData(res: Response) {
let body = res.json();
return body.data || {};
}
}
答案 1 :(得分:2)
除了Maciej的回答,您还可以使用为您订阅的| async
管道。
<div>{{getSchmea('fileName') | async}}</div>