Я попытался выполнить поиск по StackOverflow по этой проблеме, но не смог найти решение, которое сработало для меня. Я использую AngularJS. У меня есть простой контроллер, который вызывает службу http и считывает данные ответа. В этом конкретном случае у меня есть вывод JSON с массивом объектов, который я не могу прочитать.AngularJS Parse JSON Array Objects Неожиданный токен:
Вот вывод JSON:
{
"results": [{
"id": "1",
"download_url": "",
"uploader": {
"id": "114899"
},
"uploaded": "1442599380",
"streaming_url_timeout": 1446092554
}, {
"id": "2",
"download_url": "",
"uploader": {
"id": "114899"
},
"uploaded": "1442599380",
"streaming_url_timeout": 1446092554
}]
}
Я пытаюсь получить доступ к элементам «результатов». Это моя служба, которая извлекает данные в формате JSON:
this.getUData = function() {
var deferred = $q.defer();
$http.jsonp(API_URL + 'udata')
.success(function(data) {
deferred.resolve(data);
})
.error(function(data) {
deferred.reject(data);
});
return deferred.promise;
}
И тогда это, как я называю эту услугу от моего контроллера:
myservices.getUData().then(function(data) {
$scope.uitems = data.results;
});
шаблона:
<div class="item" href="#" ng-repeat="item in uitems">
<h2>{{item.id}}</h2>
</div>
Но когда я пытаюсь для доступа к элементам в «результатах», я получаю следующую ошибку:
Uncaught SyntaxError: Unexpected token :
линия в вопросе этой ошибки "results":[
Попробуйте использовать элемент ng-repeat = "в uitems.results". Получить результаты элемента - это массив вашего ответа json, на котором вы можете использовать ng-repeat –
, или нет. – ngLover
@ J-D, никаких изменений в результате. Я боюсь. – aqq