2016-07-05 80 views
0

我从API http://www.omdbapi.com/?t=batman&y=&plot=full&r=js获取一些JSON数据时快速未定义的值。试图访问JSON数据

打印出的文本控制台给我正确的数据。然而,当我试图访问它的任何属性时,它给我的定义不明确。

var url = "http://www.omdbapi.com/?t=batman&y=&plot=full&r=json"; 
    request.get(url, function(err, res){   
    if (this.isMounted()) { 
    this.setState({data : res.text}); 
    } 

    }.bind(this)); 

如果我尝试下面一个它打印正确的数据

console.log(this.state.data); 

但如果我尝试下面它给了我不确定。

console.log(this.state.data.Title); 
+1

尝试用:this.state.data.data.Title – AndreaM16

+0

@ AndreaM16会是什么那样做? – scripter

+0

我想这是一个对象,你得到了未定义的原因。如果你使用this.state.data.data,你将能够访问你正在寻找的东西,或者至少,这是我通常如何解决这类事情。 – AndreaM16

回答

0

删除res.text property.Also尝试登录控制台资源,看看它的一个对象

var url = "http://www.omdbapi.com/?t=batman&y=&plot=full&r=json"; 
    request.get(url, function(err, res){   
    if (this.isMounted()) { 
    this.setState({data : res}); 
    } 

    }.bind(this)); 
+0

是的,它是一个对象。 – scripter