问题
如何在JSON字符串中选择两个测试对象并将它们映射到名为Test
的界面?并且我的界面中的属性是否可能被称为some_name
?
问题
我试图将JSON
对象映射到Test
界面,但它不起作用。组件中的getTests
始终为
我想原因是有一个名为 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);
答案 0 :(得分:3)
据我所知,您收到的JSON内容中没有data
属性。
res.json()
返回一个包含test
属性的对象,该属性是一个数组。您应该使用.map(res => <Array<Test>> res.json().test)
来获取数组。
亨利