- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在从
检索数据https://api.instagram.com/v1/tags/HASHTAG/media/recent?client_id=CLIENT_ID
其中
HASHTAG = 我正在搜索的主题标签
CLIENT_ID = 我的客户 ID
我在检索图片网址和标题时没有遇到任何问题,但是当我尝试获取评论将作为“未定义”返回。
数据存储在名为图片的数组中,因此如果我想获取标准分辨率网址,我只需执行以下操作:
for(i = 0; i < pictures.length; i++){
pictureURL[i] = pictures[i].images.standard_resolution.url;
}
现在我尝试用来检索评论的代码是:
//where 'i' is the index of the pic I'm currently focusing on
for (comment in pictures[i].comments.data) {
alert(comment.text);
//using alert just to see what is being retrieved
}
但问题是警报只显示“未定义”,并且只有在有评论时才显示未定义(我在手机上检查过,如果图片没有评论,则没有警报。如果图片有评论,每条评论有 1 个提醒。
有人可以帮我吗?
最佳答案
pictures[i].comments.data
中的值是一个数组,如/tags/tag-name/media/recent
Instagram API docs 中的“Response”部分所示。 :
[{
"type": "image",
...
"comments": {
"data": [{
"created_time": "1296703540",
"text": "Snow",
...
},
{
"created_time": "1296707889",
"text": "#snow",
...
}],
...
如您所见,comments
对象中的 data
属性是一个数组(以 [
开头)。
您在数组上滥用了 for..in
。 (参见 Why is using "for...in" with array iteration a bad idea? )for..in
循环对象的属性名称。 comment
的值始终是一个属性名称字符串,它肯定没有 text
属性。
相反,您需要一个简单的 for
循环,因为 pictures[i].comments.data
是一个数组:
for (var j=0; j<pictures[i].comments.data.length; j++) {
var comment = pictures[i].comments.data[j];
alert(comment.text)
}
一个重要的注意事项是,即使 pictures[i].comments.data
是一个非数组对象,您使用 for..in
仍然不会'不太对。您的变量 comment
保存属性名称,并且您需要使用属性访问来获取属性名称引用的值:
for (commentKey in pictures[i].comments.data) {
var commentValue = pictures[i].comments.data[commentKey];
alert(commentValue.text)
}
请注意,这可能适用于数组,但是:
关于javascript - 我在使用 Instagram API 时检索的评论返回 'undefined',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24316453/
我只是有一个更琐碎的问题。 为什么undefined == undefined 返回true,而undefined >= undefined 为false? undefined 等于 undefine
用PHP 7.2编写套接字服务器。根据Firefox 60中的“网络”选项卡,服务器的一些HTTP响应的第一行随机变为undefined undefined undefined。因此,我尝试记录套接字
在 JavaScript 中这是真的: undefined == undefined 但这是错误的: undefined <= undefined 起初我以为<=运算符包含第一个,但我猜它试图将其转换
在回答这个问题 (Difference between [Object, Object] and Array(2)) 时,我在 JavaScript 数组中遇到了一些我以前不知道的东西(具有讽刺意味的
来自https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/of , Note: thi
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
当我添加 到我的 PrimeFaces Mobile 页面,然后我在服务器日志中收到以下警告 WARNING: JSF1064: Unable to find or serve resource, u
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我是一名优秀的程序员,十分优秀!