【问题标题】:Getting undefined value when trying to access json data尝试访问 json 数据时获取未定义的值
【发布时间】:2016-07-05 13:35:19
【问题描述】:

我正在从 api http://www.omdbapi.com/?t=batman&y=&plot=full&r=js 获取一些 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); 

【问题讨论】:

  • 试试:this.state.data.data.Title
  • @AndreaM16 那会做什么?
  • 我猜它是一个对象,你会得到未定义的原因。如果您使用 this.state.data.data,您将能够访问您要查找的内容,或者,至少,这是我通常解决此类问题的方式。
  • 仍未定义 :(
  • 尝试设置 Plunker 或 JSFiddle 重现问题。

标签: javascript json reactjs


【解决方案1】:

删除 res.text 属性。同时尝试在控制台中记录 res 并查看它是否是一个对象

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

【讨论】:

    猜你喜欢
    • 2016-10-08
    • 1970-01-01
    • 1970-01-01
    • 2019-09-06
    • 2021-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多