正确调用JSON

时间:2016-12-11 19:37:57

标签: html angularjs json

我有一个从服务提取到控制器的JSON数组。我能够在控制台中显示JSON数组。但是当调用JSON中的特定项时,它会显示undefined。那么如何正确调用它以便我可以在我的视图中使用它。

控制器:

$scope.onViewLoaded = function() {
  callingService.getdata($scope.datafetched);
}

$scope.datafetched = function(response) {
  debugger;
  if (response) {
    $rootScope.mainData = response;
    $scope.localizeddataTypes = getLocalizedCollection($scope.mainData);
  }
}

$scope.editFunction = function(key) {
  console.log($scope.mainData);
  debugger;
  console.log($scope.mainData.keyValue);
}

此处console.log($scope.mainData);显示JSON数组,但console.log($scope.mainData.keyValue);显示为未定义。我的JSON看起来像

{ 
   keyValue: "1234DEF56", 
   animals: {
      name:"dog",
      color:"brown"
   },
   birds:{
      name:"canary",
      color:"yellow"
   }
}

那么,我如何克服这个问题,为什么我将其作为Undefined

1 个答案:

答案 0 :(得分:3)

只是一个好奇的东西。我觉得该变量中的内容以字符串格式存储,而不是JSON或JavaScript Object。试试这个,看看是否有效?

$scope.mainData = JSON.parse($scope.mainData);
console.log($scope.mainData.keyValue);