jQuery - getJSON格式化帮助/语法

时间:2017-02-07 19:50:22

标签: jquery getjson

<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。

2 个答案:

答案 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输出,您有两个对象的字典_totalstreams

_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字典开始。这些词典包含idchannel字典,其中包含display_name

所以,要获取数据:

data["streams"][0]["id"] // provides id
data["streams"][0]["channel"]["display_name"] // provides display name

0是列表中的第一个对象。您可以使用data["streams"].length查找列表中的对象数量以循环遍历所有对象。