2016-11-08 214 views
-3

我需要將我的JSON數組解析爲Angular中的對象,如果我正確但不知道如何做到這一點。我已經閱讀了幾篇文章,並且在這方面有很多內容,但由於某些原因,我無法正確理解。將JSON數組解析爲對象

鏈接到我的JSON:http://wingfield.vmgdemo.co.za/webapi/view_stock_complete

// JS

app.controller('showRoom', function($scope, $http) { 
$http.get('http://wingfield.vmgdemo.co.za/webapi/view_stock_complete'). 
    then(function(response) { 
     $scope.view_stock_complete = response.data; 
    }); 
}); 

// HTML

<div class="container" ng-controller="showRoom"> 
<div><span>Variant: {{view_stock_complete.stock_id}}</span></div> 
</div> 
+2

你在瀏覽器的JavaScript控制檯中看到什麼錯誤?你在服務器上啓用了CORS嗎? – JJJ

+0

在沒有錯誤之前,我沒有訪問服務器,我提供了鏈接到我的JSON。在採取建議的改變後,我得到了以下錯誤: angular.js:13920SyntaxError:意外令牌○在JSON位置1處 在JSON.parse() 在main.js:45 在angular.js:16383 at m。$ eval(angular.js:17682) at m。$ digest(angular.js:17495) at m。$ apply(angular.js:17790) at l(angular.js:11831) 在J(angular.js:12033) at XMLHttpRequest.t.onload(angular.js:11966)(anonymous function)@ angular.js:13920 – waynev

回答

0

你的數據是一個數組,所以你使用需要循環它們ng-repeat,或訪問第一個條目使用view_stock_complete[0]

(function(){ 
 
    'use strict'; 
 
    
 
    angular.module('test', []) 
 
    .controller('TestController', TestController); 
 
    
 
    TestController.$inject = ['$http']; 
 
    
 
    function TestController($http) { 
 
    var vm = this; 
 
    
 
    vm.data = []; 
 
    $http.get('http://wingfield.vmgdemo.co.za/webapi/view_stock_complete').then(function(response){ 
 
     vm.data = response.data; 
 
    }) 
 
    } 
 
})();
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.min.js"></script> 
 

 
<div ng-app='test' ng-controller='TestController as tc'> 
 
    <div ng-show="tc.data.length == 0">loading...</div> 
 
    <div ng-repeat="car in tc.data"> 
 
    {{$index + 1}}. {{car.make}} {{car.series}} 
 
    </div> 
 
</div>

+0

謝謝!!!!完善 – waynev