如何在响应对象中获取项目

时间:2017-06-27 13:47:39

标签: angularjs ionic2

我想在响应中获取一个值但是我得到了空值

enter image description here

此图片是网址的回复,但是当我尝试访问它时,我得到了未定义的

this.http.post(url, data, headers)
            .map(res => res.json())
            .subscribe(res => {
                console.log(res);
                console.log(res.devicePlaylist[0]);
                console.log("play list   :", res[1]);
            }, (err) => {
                console.log("failed", err);
            });

我得到res作为对象,但我没有访问devicePlaylist,有人可以帮助我

2 个答案:

答案 0 :(得分:1)

由于您已在res方法中将console.log(res)对象打印为subscribe,请检查浏览器控制台并注意Object写在那里。这意味着值res是一个对象,它包含key : value对。因此,当您尝试访问console.log(res.devicePlaylist[0]);时,您将无法在控制台中找到打印,因为res没有名为devicePlaylist的密钥。因此,devicePlaylist位于Response的密钥res内。所以,你需要以

的形式访问它
res.Response.devicePlaylist[0]

并且,由于devicePlaylist是一个数组(在浏览器控制台中也显示为数组),因此您可以使用索引值0,直到数组devicePlaylist包含至少一个元素。否则,如果数组为空,您将获得undefined

答案 1 :(得分:0)

您的控制台中的外部对象似乎是响应;您可以尝试登录res.Response.devicePlaylist[0]