繁体   English   中英

使用AngularJS从JSON键值对中提取值

[英]Pull value from JSON key value pair using AngularJS

Angular的ngRepeat中有没有办法根据其键将值从JSON数组中提取出来。 我使用以下JSON结构,并希望为每个对象输出“名称2”的关联值。

{
  "Items": [
    {
      ...
      "Attributes": [
        {
          "Name": "Name 1",
          "Value": "123"
        },
        {
          "Name": "Name 2",
          "Value": "456"
        },
        {
          "Name": "Name 3",
          "Value": "789"
        }
      ]
    },
    {
      ...
      "Attributes": [
        {
          "Name": "Name 1",
          "Value": "987"
        },
        {
          "Name": "Name 2",
          "Value": "654"
        },
        {
          "Name": "Name 3",
          "Value": "321"
        }
      ]
    },
    {
      ...
      "Attributes": [
        {
          "Name": "Name 1",
          "Value": "246"
        },
        {
          "Name": "Name 2",
          "Value": "369"
        },
        {
          "Name": "Name 3",
          "Value": "135"
        }
      ]
    }
  ]
}

这样尝试

 angular.forEach(data.Items,function(value,key){
     angular.forEach(value,function(v){
       if(v.name == "Name 2")
         console.log(v);
     }
  })

这是一个例子。 它将打印“名称2”

<body ng-app="myApp">

  <div ng-controller="myCtrl">
    <div ng-repeat="item in records.Items">
      <div ng-repeat="singleAttribute in item.Attributes">
        <div ng-if="singleAttribute.Name === 'Name 2'">
          {{singleAttribute.Value}}
        </div>
      </div>
    </div>
  </div>

<script>
  var app = angular.module("myApp", []);
  app.controller("myCtrl", function($scope) {
    $scope.records = {
      "Items": [
        {
          "Attributes": [
            {
              "Name": "Name 1",
              "Value": "123"
            },
           {
             "Name": "Name 2",
             "Value": "456"
           },
          {
            "Name": "Name 3",
            "Value": "789"
          }
        ]
      },
      {
        "Attributes": [
          {
            "Name": "Name 1",
            "Value": "987"
          },
          {
            "Name": "Name 2",
            "Value": "654"
          },
          {
            "Name": "Name 3",
            "Value": "321"
          }
        ]
      },
      {

        "Attributes": [
          {
            "Name": "Name 1",
            "Value": "246"
          },
          {
            "Name": "Name 2",
            "Value": "369"
          },
          {
            "Name": "Name 3",
            "Value": "135"
          }
        ]
      }
    ]
  };
});
</script>

</body>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM