JSON.parse获取值

时间:2017-11-08 08:43:59

标签: json angular api

我正在尝试检索给定密钥的特定值。我的JSON对象看起来像直接从控制台获取。

0
:
{mail: "testmail@hotmail.com", location: "England", about: "Rockstar", phoneNr: "1233425"}

我的角度代码检索响应并将其打印

getProfile(){
        const obs = new Subject<Users[]>();
        this.http.post('http://localhost/shareVideoAppPHP/sharevideoapp-backend/readProfile.php', "1", {headers: this.headers})
        .subscribe((message) => { //Function data
            const response = JSON.parse(message.text());
            obs.next(response);
            console.log("Mesage------->", response);
        }, (error) => {
            console.log("Error from server!", error);
        });
    }

认为我已经尝试了

response.location
response["location"]
message["location"]
message.location

所有这些都打印出以下内容:Mesage-------> undefined,但最后一个出现错误Property 'location' doesn't exist on type Response

2 个答案:

答案 0 :(得分:0)

因为您的响应是一个数组。您可以在日志中看到0索引。

尝试做

console.log(response[0]['location']);
console.log(response[0].location);

答案 1 :(得分:0)

我认为没有必要解析JSON。首先,您可以从消息变量中找到值。如果从消息中获取的JSON值是您想要的,那么您可以使用 message.location 来检索它。