如何在React Native中从JSON中选择特定的值?

3
我试图获取的是选择“quality”为hd720的“url”值。 组件
    componentDidMount() {

       return fetch('https://you-link.herokuapp.com/?url=https://www.youtube.com/watch?v=YGCLs9Bt_KY')
         .then((response) => response.json())
         .then((responseJson) => {
           this.setState({
             isLoading: false,
             dataSource: responseJson,
             videoUrl: responseJson[0].url
           }, function() {
           });
         })
         .catch((error) => {
           console.error(error);
         });
     }

Json调用
链接


我并没有看到你的请求有任何本质上的问题。那么错误是什么? - jhc
你可以使用 findresponseJson.find(obj => obj.quality === "hd720").url - Tholle
我已尝试了这段代码,但它不起作用:"responseJson.find不是一个函数"。 - bdroid
请尝试以下代码块 - Harshal Bhavsar
@bdroid,如果responseJson.find不存在,则需要在响应之前进行调试。.then(response => { console.log(response); return response.json(); }) - jhc
1个回答

阿里云服务器只需要99元/年,新老用户同享,点击查看详情
6

您只需使用匹配条件(使用 find)搜索 JSON 数组,这里的条件是 "quality" === "hd720"。

componentDidMount() {
    return fetch('https://you-link.herokuapp.com/?url=https://www.youtube.com/watch?v=YGCLs9Bt_KY')
        .then((response) => response.json())
        .then((responseJson) => {
            let url = responseJson.find(obj => obj.quality === "hd720").url
            this.setState({
                isLoading: false,
                dataSource: responseJson,
                videoUrl: url
            }, function() {});
        })
        .catch((error) => {
            console.error(error);
        });
}

不客气。愉快编程。 - Harshal Bhavsar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,