<html>
<head>
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.1.1.min.js">
</script>
<script>
function readFile() {
$.getJSON("http://www.ellatha.com/apitest.asp", function(data) {
$("#channel").text(data['channel']['display_name']);
$("#id").text(data['channel']['_id']);
});
}
$(function () {
setInterval(function() { readFile() },1000);
});
</script>
</head>
<body>
<div id="channel"></div> - <div id="id"></div>
</html>我很确定我有语法问题,因为这个json示例是嵌套的。如果有人能帮我指明正确的方向,我将不胜感激!Json数据是在asp页面上的,我相信它是原始的json,所以这应该不是问题。
Json文件基本上是告知流的总数(http://imgur.com/a/t4K3j),然后在streams块中列出每个流(http://imgur.com/a/DYtiv)的所有不同数据点。我想基本上列出所有频道及其ID。
发布于 2017-02-08 04:04:10
您需要首先解析JSON。
var obj = jQuery.parseJSON( data);
$("#channel").text(obj.channel.display_name);
//OR $("#channel").text(obj.stream.channel.display_name); 发布于 2017-02-08 04:41:49
查看您的JSON输出,您有一个包含两个对象的字典:_total和streams。
_total是字符串,streams是列表
JSON输出的简化版本:
{
"_total": 19,
"streams: [
{
"id": 0,
"channel": {
"display_name": "Daopa",
"game": "EVE Online"
}
},
{
"id": 1,
"channel": {
"display_name": "Name_2",
"game": "League of Legends"
}
},
{
"id": 2,
"channel": {
"display_name": "Name_3",
"game": "Dota 2"
}
}
]
}值得知道的是,字典是花括号{},列表是方括号。
列表由其索引引用,从0开始,而{dictionaries}由其关键字引用,例如"display_name"或"channel"。
要获得显示名称,可以从streams字典开始,它包含一个字典列表。这些字典包含id和具有display_name的channel字典。
因此,要获取数据:
data["streams"][0]["id"] // provides id
data["streams"][0]["channel"]["display_name"] // provides display name0是列表中的第一个对象。您可以使用data["streams"].length查找列表中要遍历所有对象的对象数量。
https://stackoverflow.com/questions/42098714
复制相似问题