如何在JSON字符串中选择两个测试对象并将它们映射到我的界面?

时间:2016-02-02 14:24:19

标签: javascript json typescript angular

问题

如何在JSON字符串中选择两个测试对象并将它们映射到名为Test的界面?并且我的界面中的属性是否可能被称为some_name

问题

我试图将JSON对象映射到Test界面,但它不起作用。组件中的getTests始终为

返回undefined

我想原因是有一个名为 test 的父级 ,但res.json()。data应该只返回两个对象 test 1 test 2

JSON

{"test":[{"some_name":"test 1"},{"some_name":"test 2"}]} 

服务方法

getTests() {
    return this.http.get(this.baseUrl + "/something")
        .map(res => <Array<Test>> res.json().data)
        .catch(this.handleError);
}

组件

this.myService.getTests()
    .subscribe(
        tests => this.tests = tests,
        error =>  this.errorMessage = <any>error);

1 个答案:

答案 0 :(得分:3)

据我所知,您收到的JSON内容中没有data属性。

res.json()返回一个包含test属性的对象,该属性是一个数组。您应该使用.map(res => <Array<Test>> res.json().test)来获取数组。

亨利