2016-04-26 88 views
0

我有以下JSON數據正在由angularJS接收。它是使用get請求從ArrayList中引入的。如何解析此JSON響應

0: Object 
     id:1 
     area: "State" 
     gender: "Both" 
     highestEd: 3608662 
     .... etc 

    1: Object 
     id:2 
     area: "State" 
     gender: "Both" 
     highestEd: 3608662 
     .... etc 

但是我不知道如何使用控制器或用戶界面訪問它。我希望能夠將這些數據存儲在Angular中,以便我可以使用這些信息創建圖表。我知道的唯一方法就是通過查看firefox中的響應。

任何幫助/建議將不勝感激。

+0

你使用$ http獲取數據嗎?你從哪裏得到數據?服務還是控制器?如果可能的話,請分享一些你已經嘗試過的代碼。 –

+0

是的,我在工廠通過http獲取請求獲取數據。我想在處理它之前將它存儲在一個範圍變量中。 在試圖處理變量方面,我嘗試了ng-repeats嵌套和不嵌套。我目前正在使用JSfiddle,它在這裏解析,但不在我的代碼中。 http://jsfiddle.net/RkykR/2493/ – user3456450

+0

你能分享你的工廠和控制器代碼嗎? –

回答

1
  1. 您的JSON數據格式不正確。使用JSON lint檢查
  2. 使用$http.get('/get_url/')獲得響應。 One sample example for this
  3. 一旦你有應答$scope.yourVariable使用ng-repeat遍歷它
+0

這工作完美。我只是將控制器更改爲與您鏈接的示例完全相同的控制器。萬分感謝 – user3456450

+0

@ user3456450:它的美麗。請將此標記爲幫助其他人的答案。 –

0

看看這個小提琴手here你可能會得到一些想法。

在您使用$ http從您的工廠調用API後,您將解析您所獲得的數據。控制器需要調用API方法,然後將已解析的數據從工廠綁定到API。

myApp.factory("Data", function($q, $http) { 
    return { 
    getData: function() { 
     var deferred = $q.defer(); 
     /* --Actual API Call 
      $http.get("/url") 
     .then(function(response) { 
      deferred.resolve(response.data); 
     }) 
       */ 
       //Dummy Data 
     var data = m; 
     deferred.resolve(data); 
     return deferred.promise; 
    } 
    } 
}); 

控制器

function MyCtrl($scope, Data) { 
    Data.getData() 
    .then(function(items) { 
     $scope.bobs = items; 
     console.log($scope.bobs); 
    }) 
} 

更換出廠虛擬數據初始化到實際的API調用。