【问题标题】:Getting value from JSON array in AngularJS从 AngularJS 中的 JSON 数组中获取值
【发布时间】:2015-12-09 11:33:02
【问题描述】:
{
"websites": [{
    "A": "www.foo.com"
}, {
    "B": "www.boo.com"
}, {
    "C": "www.zoo.com"
}]

}

我有上面的 JSON 数组,我的控制器通过执行以下操作将其插入范围:

$http.get('data/websites.json')
    .success(function (data) {
        $scope.websites = data;
    });

在我看来,我有一个变量是A,B或C。我只需要在视图中显示相应的网站。

所以 - 总结一下:

在我看来,我希望能够执行以下操作:{{websites.website.B}},它会显示相应的网站 URL。

【问题讨论】:

  • 你能澄清一下你的意思吗?
  • 你能解释一下吗?
  • 数组中有对象。您的对象应该具有相同的名称以便于访问。
  • check this 一次。希望对您有所帮助
  • 例如:“网站”:[{“url”:“www.foo.com”},{“url”:“www.boo.com”},{“url”:“ www.zoo.com" }]

标签: javascript angularjs json angularjs-scope


【解决方案1】:

您必须遍历 $scope.websites 并将 key 与您的视图变量匹配。如果匹配,则显示该键的值。

使用类似的东西:

    angular.forEach(obj, function(value, key) {
      if(key == <view variable>) {
      // use value to display appropriate website
      }
    });

【讨论】:

    【解决方案2】:
      Try this code.
    
     <li ng-repeat="stuff in websites ">
        <a href="{{stuff.A}}" target="_blank">{{stuff.A}}</a>
        <a href="{{stuff.B}}" target="_blank">{{stuff.B}}</a>
        <a href="{{stuff.C}}" target="_blank">{{stuff.C}}</a>  
    </li>
    

    【讨论】:

    • Object 没有这三个键。它有任何一个!
    【解决方案3】:

    简短的回答是,在您从 json 内容中获取数据后,您只需使用 ng-repeat 循环遍历您的 json 内容,然后只需使用$范围服务

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多