javascript - 从数组中的 JSON 导出结果

标签 javascript node.js reactjs

我想使用以下调用从 Youtube 获取自动建议:

await fetch('https://suggestqueries.google.com/complete/search?client=youtube&ds=yt&q=skrillex&callback=suggestCallback')
.then(response => console.log(response))

此调用获得以下 JSON 作为结果:

"suggestCallback && suggestCallback(["skrillex",[["skrillex",0],["skrillex bangarang",0],["skrillex make it bun dem",0],["skrillex scary monsters and nice sprites",0],["skrillex cinema",0],["skrillex live",0],["skrillex first of the year",0],["skrillex sicko mode",0],["skrillex kyoto",0],["skrillex remix",0]],{"k":1,"q":"bEJKh2TVzWqSICI3U3xEdXTC00g"}])"

然而,我正在努力将此结果转换为一系列“实际建议”。比如我想把上面得到的JSON存储成如下格式:

let myArray = ["skrillex", "skrillex bangarang", "skrillex make it bun dem", "skrillex scary monsters and nice sprites", "skrillex cinema", "skrillex live", "skrillex first of the year", "skrillex sicko mode", "skrillex kyoto" ,"skrillex remix"]

要实现这一目标,可行的解决方案是什么?

最佳答案

执行此操作的一种方法是使用正则表达式从您获得的响应中过滤出 json 响应,然后根据该结果创建一个数组。

let jsonp = 'suggestCallback && suggestCallback(["skrillex",[["skrillex",0],["skrillex bangarang",0],["skrillex make it bun dem",0],["skrillex scary monsters and nice sprites",0],["skrillex cinema",0],["skrillex live",0],["skrillex first of the year",0],["skrillex sicko mode",0],["skrillex kyoto",0],["skrillex remix",0]],{"k":1,"q":"bEJKh2TVzWqSICI3U3xEdXTC00g"}])';
    
    let myRe = /\[(.*)\]/g;
    let regExGroups = myRe.exec(jsonp);
    let json = JSON.parse(regExGroups[0]);
    
    let myArray = [];
    
    json[1].forEach((element) => {
    	myArray.push(element[0]);
    });
    
    console.log('suggestions array', myArray);

https://jsfiddle.net/zeonfrost/s7b4aLr6/

但你真正应该做的可能是定义一个 suggestCallback 函数 what is jsonp

关于javascript - 从数组中的 JSON 导出结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54953107/

相关文章:

javascript - 在 localStorage 中存储 HTTP Basic 授权 header 是否存在任何安全问题?

javascript - 在 javascript 数组中查找元素并返回匹配元素的位置

javascript - 网络动画结束后恢复原状

node.js - Node 要监听azure ubuntu vm的端口/IP地址

mysql - 查询多对多链接表

javascript - ReactJS Modal 通过 NPM 导入的 jquery 隐藏

javascript - 编辑方法未检索适当的信息 [错误] React

javascript - 页面加载后运行定时函数

javascript - 使用 WebSocket 接口(interface)调用 IPV6 IP

javascript - React 路由器问题 : React render two components in the same page