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

How can I select both test objects in my JSON string and map them to my interface?

本文关键字:对象 测试 接口 我的 映射 两个 字符串 JSON 选择      更新时间:2023-09-26

问题

如何在 JSON 字符串中选择两个测试对象并将它们映射到名为 Test 的接口?我接口中的属性有没有可能不叫some_name

问题

我试图将我的JSON对象映射到Test接口,但它不起作用。组件中的getTests始终返回未定义的

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

杰伦

{"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);

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

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

蒂埃里