首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我如何从youtube api中获得一个值?

我如何从youtube api中获得一个值?
EN

Stack Overflow用户
提问于 2018-09-25 09:50:35
回答 1查看 113关注 0票数 0

我正在构建一个聊天机器人,它根据用户的要求检索youtube链接。我将对话框用于机器人,使用nodejs编写代码。

现在,一切都很完美,但我的问题是从API响应中检索链接。使用console.dir(结果)显示如下:

代码语言:javascript
复制
[ { id: 'gWNUg_v25dw',
link: 'https://www.youtube.com/watch?v=gWNUg_v25dw',
kind: 'youtube#video',
publishedAt: '2017-08-24T14:00:11.000Z',
channelId: 'UCDZ56yQ05d_ikcwcTG9bAiA',
channelTitle: 'Code to Create',
title: 'How to make a Chatbot with Dialogflow - API.ai',
description: 'In this video, Google Developer Expert, Faisal Abid will show us how to create a chatbot with Google\'s latest API.ai API.ai can be integrated with multiple chat ...',
thumbnails: { default: [Object], medium: [Object], high: [Object] } } ]

我尝试过使用results.link检索链接,但我的问题是如何从响应块中检索链接?

代码语言:javascript
复制
search(txt1, opts, function(err, results) {
//var data1 = JSON.parse(results);
//srchRes = data1.link;
if(err) return console.log(err);


console.dir(results);
});

去掉上面的2行注释,console.dir(srchRes)返回此错误:

代码语言:javascript
复制
SyntaxError: Unexpected token u in JSON at position 0
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-25 10:24:46

我们没有API调用代码逻辑,因此从这里开始,只能假定 results是API的响应,并给出了响应的示例,然后我们看到results是一个对象数组。

  • JSON.parse实际上反序列化了一个字符串,该字符串表示给定JSON格式的对象。
  • JSON.stringify恰恰相反,它以JSON格式将对象序列化为字符串。

您的目标是到达数组中的link特定对象的属性,这就是为什么JSON.parse(results)没有意义的原因。

您应该能够通过简单地迭代对象results数组来达到每个对象的results属性。

代码语言:javascript
复制
for (const result of results) {
    console.log(`the link : ${result.link}`)
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52495273

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档