Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs-多个json数组工作不正常_Json_Angularjs - Fatal编程技术网

Angularjs-多个json数组工作不正常

Angularjs-多个json数组工作不正常,json,angularjs,Json,Angularjs,我有一个小应用程序,请求使用一级json时可以正常工作的json文件,代码如下: 服务: angular .module ('myApp') .factory('Summary', function ($resource) { return $resource('summary.json'); }); 控制器: angular .module ('myApp') .controller ('summaryCtrl', ['$scope',

我有一个小应用程序,请求使用一级json时可以正常工作的json文件,代码如下:

服务:

angular
    .module ('myApp')
    .factory('Summary', function ($resource) {
        return $resource('summary.json');
    });
控制器:

angular
    .module ('myApp')
    .controller ('summaryCtrl', ['$scope', 'poller','Summary', function ($scope, poller,Summary) {

        var poller1;
        //using angular-poller 
        poller1 = poller.get(Summary, {delay: 2000});
        poller1.promise.then(null, null, function (data) {
            $scope.summary = data;
            console.log(data);
        });
    }]);
angular
        .module ('myApp')
        .controller ('summaryCtrl', ['$scope', 'poller','Summary', function ($scope, poller,Summary) {

            var poller1;
            poller1 = poller.get(Summary, {delay: 2000});
            poller1.promise.then(null, null, function (data) {
                $scope.summary = data.uk; //here I need to get uk data
                console.log(data.uk);
            });
        }]);
json:

控制台中的输出:

[Resource, Resource, Resource, Resource, Resource, Resource, $promise: Object, $resolved: true]
所有这些都很好,因为我获得了6x资源,只要我引入多级json并修改控制器,它就不能正常工作,下面是我试图检索uk的新代码:

新json:

[
    {
        "uk": [
            {"channel": "aaa", "value": 13256},
            {"channel": "bbb", "value": 6598},
            {"channel": "ccc", "value": 245 },
            {"channel": "ddd", "value": 123},
            { "channel": "eee", "value": 956},
            { "channel": "fff", "value": 142}
        ]
    },
    {
        "us": [
            {"channel": "aaa", "value": 457},
            {"channel": "bbb", "value": 364},
            {"channel": "ccc", "value": 457 },
            {"channel": "ddd", "value": 45},
            { "channel": "eee", "value": 3},
            { "channel": "fff", "value": 143562}
        ]

    }
]
控制器:

angular
    .module ('myApp')
    .controller ('summaryCtrl', ['$scope', 'poller','Summary', function ($scope, poller,Summary) {

        var poller1;
        //using angular-poller 
        poller1 = poller.get(Summary, {delay: 2000});
        poller1.promise.then(null, null, function (data) {
            $scope.summary = data;
            console.log(data);
        });
    }]);
angular
        .module ('myApp')
        .controller ('summaryCtrl', ['$scope', 'poller','Summary', function ($scope, poller,Summary) {

            var poller1;
            poller1 = poller.get(Summary, {delay: 2000});
            poller1.promise.then(null, null, function (data) {
                $scope.summary = data.uk; //here I need to get uk data
                console.log(data.uk);
            });
        }]);
控制台中的输出未定义


我做错了什么?非常感谢您的帮助。

更改json的格式,如下所示:

{
    "uk": [
        {"channel": "aaa", "value": 13256},
        {"channel": "bbb", "value": 6598},
        {"channel": "ccc", "value": 245 },
        {"channel": "ddd", "value": 123},
        { "channel": "eee", "value": 956},
        { "channel": "fff", "value": 142}
    ],
    "us": [
        {"channel": "aaa", "value": 457},
        {"channel": "bbb", "value": 364},
        {"channel": "ccc", "value": 457 },
        {"channel": "ddd", "value": 45},
        { "channel": "eee", "value": 3},
        { "channel": "fff", "value": 143562}
    ]

}

然后data.uk和data.us将生成所需的结果。

数据是一个数组。你必须做数据[0]。ukOh哇,愚蠢的我:非常感谢你的帮助。但是,如果数据是正确的json格式/对象而不是数组,我的代码会是什么样子?它仍然是正确的json,您只需删除周围的[and]。所以它看起来像{uk:[]}而不是[{uk:[]}]我尝试过删除[],所以它看起来像{uk:[]},{us:[]}但是我的IDE认为它们之间有一个逗号错误:哦,我明白了。很抱歉让我写一个答案。太棒了,我所要做的就是修改工厂,如下所示:return$resource'summary.json',{},{'query':{method'GET',isArray:false};再次感谢!