【发布时间】:2018-10-17 01:58:58
【问题描述】:
我的后端返回这个:
{
"FirstResponse": [
{
"MyField1": "AAA",
"MyField2": "AAAAAAA"
},
{
"MyField1": "BBB",
"MyField2": "BBBBBBB"
},
{
"MyField1": "CCC",
"MyField2": "CCCCC"
}
],
"SecondResponse": [
{
"FirstName": "FirstNameA",
"LastName": "LastNameA"
},
{
"FirstName": "FirstNameB",
"LastName": "LastNameB"
}
]
}
我想将FirstReponse 映射到一个变量,并将SecondResponse 映射到另一个变量。
如何修改下面的代码?
search(): Observable<any> {
let apiURL = `......`;
return this.http.get(apiURL)
.map(res => res.json())
}
更新:异常结果 在一个变量中:
[
{
"MyField1": "AAA",
"MyField2": "AAAAAAA"
},
{
"MyField1": "BBB",
"MyField2": "BBBBBBB"
},
{
"MyField1": "CCC",
"MyField2": "CCCCC"
}
]
马上:
[
{
"FirstName": "FirstNameA",
"LastName": "LastNameA"
},
{
"FirstName": "FirstNameB",
"LastName": "LastNameB"
}
]
【问题讨论】:
-
我会说,您的后端应该简单地返回您实际想要获取的值。还是您的示例中的数据对您来说很重要?
-
你想要得到的确切结果是什么(给出正确的 json)?
-
你试过了吗? :
search(): Observable<{ "Field1": string, "Field2": string }[]> { const apiURL = 'https://jsonplaceholder.typicode.com/users'; return this.http.get(apiURL) .map(res => res.json().MyValues) } -
@KamilKiełczewski 与 jsonplaceholder.typicode.com/users 相同,但内容位于“MyValues”节点下。
-
老哥请提供预期结果和目前得到的结果,以便我们更好地帮助您。