Javascript Angularjs读取模板中对象的值

Javascript Angularjs读取模板中对象的值,javascript,angularjs,Javascript,Angularjs,我有一些类似上面API的JSON数据,我试图用angujarjs在一个循环中显示这个结果,我不知道如何读取'src'的值,我一直得到一个未定义的 我的模板看起来像这样 "node" : { "title": "Event hold tomorow", "field_mobile_image" : " {'src' : 'http://www.example.com/sites/default/files/image_default_banner.jpg','alt' : ''}"

我有一些类似上面API的JSON数据,我试图用angujarjs在一个循环中显示这个结果,我不知道如何读取'src'的值,我一直得到一个未定义的 我的模板看起来像这样

"node" : {
    "title": "Event hold tomorow",
    "field_mobile_image" : " {'src' : 'http://www.example.com/sites/default/files/image_default_banner.jpg','alt' : ''}"
  }
}, "node" : {
    "title": "Event hold tomorow",
    "field_mobile_image" : " {'src' : 'http://www.example.com/sites/default/files/image_default_banner.jpg','alt' : ''}"
  }
}
<a class="list card" ng-repeat="newsitem in news" style="display:block;text-decoration:none;" ui-sref="menu.newsDetail()" id="news-card22">
<img ng-src="{{newsitem.node.field_mobile_image.src}}">
  <i class="icon ion-android-calendar"></i>{{newsitem.node.title}}</ion-item>
服务看起来像

 function($scope, $stateParams, getPageInfo) {
    getPageInfo.news().then(function(res) {
        $scope.news = res;
    });
}])

因为字段\u mobile\u image的值实际上是一个JSON字符串,所以它没有src属性,所以您将无法定义它。除了为访问整个JSON结构而采取的任何步骤外,还需要修复整个对象并在该属性上运行JSON.parse。如果您不确定如何编写函数来实现这一点,那么显示整个新闻数组会很有帮助

编辑:此外,您还需要使用ng src,正如评论员建议的那样

MOAR编辑:为了解决这一问题,请考虑所讨论的属性实际上是用双引号包装的,因此它不是一个对象,它是一个字符串。查看任何字符串上的属性和方法列表,您将找不到src。这里有一些

为了使这个字符串成为一个对象,parse函数实际上将遍历字符串的字符,确定对象应该是什么样子,并将其返回给您。下面是一个关于如何处理单个项目的示例:

.service('getPageInfo', ['$http', function($http) {
    news: function() {
      let api_url = "http://example.com/";
        endpoint = "api/news";
        return $http.get(api_url + endpoint).then(function(resp) {
            console.log(resp.data.data[0].node.field_mobile_image.src); //undefined 
            return resp.data.data
        });
    }
return ret;
JSON数据

function fixData (data) {
  data.field_mobile_image = JSON.parse(data.field_mobile_image)
  return data
}
Html模板

$scope.news = {
node : {
  title : "Event hold tomorow",
  field_mobile_image : {
      src : "http://www.example.com/sites/default/files/image_default_banner.jpg",
      alt : ''
  }
}}

显示新闻数组使用ng src而不是src更多详细信息在这里@SachilaRanawaka新闻数组是JSON对象它是我发布的第一个代码ng src不是问题当我console.log我得到图像的emtpy值我想你得到的JSON格式可能是错误的。应该是这样的{src::}谢谢你的回复我尝试了这个,它在JSON的位置2抛出了一个SyntaxError:Unexpected token',在JSON.parse中,数据中必须有一个恶意的单引号字符。您从哪里获取数据?确保您没有尝试在非JSON的对象上运行JSON.parse。
<a class="list card" ng-repeat="newsitem in news" style="display:block;text- 
 decoration:none;" ui-sref="menu.newsDetail()" id="news-card22">
  <img ng-src="{{newsitem.field_mobile_image.src}}">
   <i class="icon ion-android-calendar"></i>{{newsitem.title}}</ion-item>