【问题标题】:read file in JSON using fetch使用 fetch 读取 JSON 格式的文件
【发布时间】:2018-10-28 16:21:17
【问题描述】:

我有一个服务器返回的 JSON 文件

{
    "myList": [
    {
        "film": "A"
    }, 
    {
        "film": "B"
    }, 
    {
        "film": "C"
    }]
}

我想在 React native 中显示它们。

  componentDidMount() {
     this.askListing();
  }

  analyse=(responseJson)=>{
     console.log(myList);
  }


  askListing=()=>{
     var getRequest = "https://--------------");
     fetch(getRequest)
        .then((response) => response.json())
        .then((responseJson) => {this.analyse(responseJson)} ) 
        .catch(
          (error) => { console.error(error) }
        );
  }

但在我的控制台中,我有:

Array [
  Object {
     "film": "A",
  },
  Object {
     "film": "B",
  },
  Object {
     "film": "C",
  },
]
  1. 你知道为什么要添加“数组”和“对象”吗?
  2. 我想访问电影名称。我怎样才能访问它们?如果我做 console.log(myList.film) 它是未定义的(可能是因为 Array 和 Objects 单词但我也有几个“film”关键字,这不是问题吗?

【问题讨论】:

  • 如何打印this.analyse中的对象?
  • 是一些打印方法,它也打印对象的类型。 myList 是什么?如果是响应数组,那么您需要指定要获取 film 属性的对象。例如:myList[0].film.
  • @SebastianSpeitel :我将函数的名称更改为更清晰,但我忘记更改一行 - 现在已更正
  • @MoshFeu :你的意思是 type 没有添加到变量中,但只有当我 console.log 时才添加?
  • 没错。您可以尝试登录JSON.stringify(responseJson)

标签: javascript json react-native


【解决方案1】:

Array 和 Object 是创建它的类的对象类型。

JavaScript Array 对象是一个全局对象,在 数组的构造

Object 构造函数创建键值对

您需要迭代列表才能访问电影

for(var i=0; i < myList.length; i++)
    console.log(myList[i].film);

myList.film 返回 undefined 因为 film 不是列表的属性,而且对象或 json 包含可以使用点运算符访问的属性。

【讨论】:

  • @Me_Will 如果你觉得答案有用,请upvote它。
猜你喜欢
  • 1970-01-01
  • 2021-10-30
  • 2022-01-09
  • 2020-12-19
  • 2017-08-10
  • 1970-01-01
  • 2019-06-09
  • 1970-01-01
  • 2020-08-25
相关资源
最近更新 更多