我如何在本机反应中从 json 中选择特定值?

Posted

技术标签:

【中文标题】我如何在本机反应中从 json 中选择特定值?【英文标题】:How i can select a specific value from json in react native? 【发布时间】:2019-04-21 21:05:53 【问题描述】:

我想要得到的是选择“质量”的“url”值为 hd720

组件

组件DidMount() return fetch('https://you-link.herokuapp.com/?url=https://www.youtube.com/watch?v=YGCLs9Bt_KY') .then((响应) => response.json()) .then((responseJson) => 这个.setState( isLoading:假, 数据源:responseJson, videoUrl:responseJson[0].url , 功能() ); ) .catch((错误) => 控制台.错误(错误); );

Json 调用Link

【问题讨论】:

我看不出您的请求有任何本质上的错误。错误是什么? 你可以使用findresponseJson.find(obj => obj.quality === "hd720").url 我已经尝试了代码但它不起作用:“responseJson.find 不是函数” 试试下面的代码块 @bdroid,如果responseJson.find不存在,那么你需要在之前调试响应。 .then(response => console.log(response); return response.json(); ) 【参考方案1】:

您只需搜索符合条件的 JSON 数组 (Using find) 在这种情况下“质量”===“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);
        );

【讨论】:

我的荣幸。编码愉快。

以上是关于我如何在本机反应中从 json 中选择特定值?的主要内容,如果未能解决你的问题,请参考以下文章

如何在本机反应中从平面列表中设置 Json 数组

如何在本机反应中从 json 获取数据?

在反应中从 json 字符串渲染 HTML

如何在反应中从 json 构建 SQL 查询?

如何在本机反应中从相机按钮切换到视频录制按钮

无法在本机反应中访问 json 值