2014-09-03 3 views
2

Мне просто не удается получить доступ к значениям из моей строки json (изображение ниже).Объект JSON не доступен с помощью AngularJS

{ 
    all: [{ 
     info: { 
      name: "Fahad", 
      lat: "41.954815", 
      lon: "-87.647209" 
     } 
    }, { 
     info: { 
      name: "Fahad", 
      lat: "41.954815", 
      lon: "-87.647209" 
     } 
    }, { 
     info: { 
      name: "Fahad", 
      lat: "41.954815", 
      lon: "-87.647209" 
     } 
    }], 
    rowsfound: "11" 
} 

Я использую angularjs, вот HTML

<ul ng-controller="PostsCtrl"> 
    <li ng-repeat="post in posts"> 
     {{post.all[0].info.name}} <em>{{post.rowsfound}}</em> 
    </li> 
</ul> 

Контроллер:

app.controller("PostsCtrl", function ($scope, $http) { 
    $http.get(myurl) 
     .success(function (data) { 
     $scope.posts = data; 

    }).error(function (data, status, headers, config) { 
     alert("error"); 
    }); 
}); 

два элементов списка генерируется без какого-либо значения. Что я не так делаю?

Благодаря

+5

Можете ли вы предоставить данные console.log и вставить здесь точный результат? –

+0

Как предложил Мэтью, ваши данные могут быть обернуты другим объектом. Вам следует console.log и посмотреть, как это выглядит. Может быть что-то вроде 'data.results' для доступа к вашим сообщениям. – Goodzilla

+0

Ответ ниже сделан. Проверьте console.log, но исходные данные - pvt. поэтому не могу вставить здесь. – Fahad

ответ

3

использовать этот HTML:

<ul ng-controller="PostsCtrl"> 
    <li ng-repeat="post in posts.all"> 
     {{post.info.name}} <em>{{posts.rowsfound}}</em> 
    </li> 
</ul> 
0

Ваше представление JSON является неправильным, правильным является «имя»: «Фахд» и т.д. Вы можете использовать такие инструменты, как http://jsonlint.com/, чтобы проверить, если ваш JSON является действительный.

+0

Я знаю, но проблема в том, что многие сервисы возвращаются одинаково, поэтому я не могу сейчас исправить, а использовать как есть. – Fahad

Смежные вопросы