无法访问服务响应中的对象

时间:2016-09-20 09:23:18

标签: javascript html angularjs json rest

当我尝试访问JSON响应时,我无法访问该对象。

我需要获取targetdatapoint个对象,之后我需要迭代dataPoint数组。

result.target在上述情况下未定义。

控制器:

$scope.serviceCalls = function() {
    var serviceUrl = "http://localhost:8080/rest/1";
    var promise = CommonService.getServiceJSON(serviceUrl);
    promise.then(function(result) {
        $scope.jsondata = result;
        console.log($scope.jsondata); // getting the JSON in console logs
        console.log($scope.jsondata.target); //returns undefined 
    }, function(reason) {
        alert('Failed: ' + reason);
    }, function(update) {
        alert('Got notification: ' + update);
    });
}

我收到的JSON回复:

[{
    "target": "xxxxxxxxxxxx",
    "datapoints": [
        [14711037952.0, 1474340220],
        [14711058432.0, 1474340280],
        [14719434752.0, 1474361700],
        [null, 1474361760]
    ]
}]

4 个答案:

答案 0 :(得分:0)

尝试$scope.jsondata = JSON.parse(result);

答案 1 :(得分:0)

$ scope.jsondata你有什么?尝试解析结果。

答案 2 :(得分:0)

Response是一个数组,因此您必须使用索引。

实施例

console.log($scope.jsondata[0].target);

答案 3 :(得分:0)

$ scope.jsondata是一个数组

$scope.jsondata[0].target will give you target
$scope.jsondata[0].datapoints will give you required array