作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果我有特定元素的键,有没有办法遍历 json 对象。
我的 json 如下。如果我的键值为 "1"
,我如何获取 json 对象中的下一个值,即与键 **200**
对应的键值。
我不想使用 $.each 因为我必须在 onfinish 事件中遍历 json,所以我不能使用 $.each。如有任何帮助,我们将不胜感激
**The id will not always be sequential**
{ "root" : [ { "id" : "1",
"trackUrl" : "http://player.vimeo.com/video/89996000?api=1&player_id=player1&autoplay=1"
},
{ "id" : "200",
"trackUrl" : "http://player.vimeo.com/video/17788981?api=1&player_id=player1&autoplay=1"
},
{ "id" : "314",
"trackUrl" : "http://player.vimeo.com/video/470742?api=1&player_id=player1&autoplay=1"
}
] }
我想遍历 vidoe 播放器 iam 构建的以下 onfinish 处理程序中的 json,基本上在 $(document).ready 函数中,我为我的 vidoe 播放器分配要播放的第一个 trackUrl。接下来,当视频播放完毕时,我想访问下一个 id = 200 的 trackurl
function onFinish(id) {
status.text('finished');
Get next item in the Json object
}
最佳答案
如果你有 Id 序列号作为数组索引:0,1,2,3,4.....,你可以这样做:
var json= { "root" : [ { "id" : "0",
"trackUrl" : "http://player.vimeo.com/video/89996000?api=1&player_id=player1&autoplay=1"
},
{ "id" : "1",
"trackUrl" : "http://player.vimeo.com/video/17788981?api=1&player_id=player1&autoplay=1"
},
{ "id" : "2",
"trackUrl" : "http://player.vimeo.com/video/470742?api=1&player_id=player1&autoplay=1"
}
] };
var root = json.root, currentId=0;
alert(root[currentId+1].trackUrl);
我不确定这是否是您想要的,但您可以尝试一下或根据您的应用程序进行调整。
更新:我认为你必须处理数组索引,无论你有什么id
值,通过跟踪你的player
应用程序上的当前索引,就像photoViewer
code> 应用程序,因为既然您拥有当前索引,您可以轻松获取下一个索引并更新当前索引持有者。
关于jquery - 当我有前一个索引或 id 时,有没有办法获取 json 中的下一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23910099/
我是一名优秀的程序员,十分优秀!