检查json是否包含react-native中的密钥

时间:2017-07-17 09:33:10

标签: javascript reactjs mobile react-native

我有点反应原生(和一般的javascript)。按下按钮,我想在json api中搜索某个键(在这种情况下是一部电影)。

例如,继承人api documentation

现在按下按钮,我想检查api是否包含名为“The Matrix”的电影。

网络教程说明要获取json,需要以下方法:

telnetlib

}

这将返回一个json对象,但是如何查询此对象以检查它是否包含一个名为“The Matrix”的电影?

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

你要做的是在json响应中使用Array.prototype.find()的电影数组并检查值

   function getMoviesFromApiAsync() {

    return fetch('https://facebook.github.io/react-native/movies.json')
      .then((response) => response.json())
      .then((responseJson) => {
        return responseJson.movies;
      })
      .catch((error) => {
        console.error(error);
      });
    }

    //from where you are calling getMovies
    getMoviesFromApiAsync()
         .then(response => {
              var data = response.find((movie) => 
                   movie.title.toUpperCase().indexOf('THE MATRIX') > -1
              )
              console.log(data)
              if(data) {
                  console.log('found');
              }
         })

其他选项是使用

Array.prototype.some()

 var data = response.some((movie) => movie.title.toUpperCase().indexOf('THE MATRIX') > -1)

Array.prototype.filter()

 var data = response.filter((movie) => movie.title.toUpperCase().indexOf('THE MATRIX') > -1)