<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),然后在流块内列出每个流的所有不同数据点(http://imgur.com/a/DYtiv)。我想基本上列出所有频道及其ID。
答案 0 :(得分:0)
您需要先解析JSON。
angular.module('app').controller('myController', ['$scope','myService',function($scope, myService){
$scope.barCost = 0;
function makeHttpPost() {
//Here we call the $http.post function which is hypothetically created in 'myService'
myService().then(success, fail);
function success(resp) {
//Do whatever calculations I have to do and assign the result on $scope.barCost.
}
function fail(resp) {
//Handle Errors
}
}
}])
答案 1 :(得分:0)
查看您的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"
}
}
]
}
值得知道字典是大括号{},列表是方括号[]。
[Lists]以索引引用,从0开始,而{dictionaries}由键引用,例如"display_name"
或"channel"
。
要获取显示名称,请从包含字典列表的streams字典开始。这些词典包含id
和channel
字典,其中包含display_name
。
所以,要获取数据:
data["streams"][0]["id"] // provides id
data["streams"][0]["channel"]["display_name"] // provides display name
0
是列表中的第一个对象。您可以使用data["streams"].length
查找列表中的对象数量以循环遍历所有对象。