AngularJS动态访问JSON索引值

AngularJS动态访问JSON索引值,angularjs,multidimensional-array,angularjs-scope,angularjs-ng-repeat,Angularjs,Multidimensional Array,Angularjs Scope,Angularjs Ng Repeat,我的范围数据: $scope.data = "category": [{ "name": "cat1", "behaviour": "normal", "selected": 0, "values": [{ "label": "define", "count": 6 }] }, { "name": "cat2", "behaviour": "normal", "selected": 0, "values": [{ "label": "type", "count

我的范围数据:

$scope.data = 
 "category": [{
"name": "cat1",
"behaviour": "normal",
"selected": 0,
"values": [{
    "label": "define",
    "count": 6
}]
}, {
"name": "cat2",
"behaviour": "normal",
"selected": 0,
"values": [{
    "label": "type",
    "count": 6
}]
}, {
"name": "Company",
"behaviour": "multi-select",
"selected": 0,
"values": [{
    "label": "VW",
    "count": 4
}, {
    "label": "Renault",
    "count": 1
}, {
    "label": "Fiat",
    "count": 1
}]
}, {
"name": "Make",
"behaviour": "multi-select",
"selected": 0,
"values": [{
    "label": "Gold",
    "count": 3
}]
}, {
"name": "Color",
"behaviour": "normal",
"selected": 0,
"values": [{
    "label": "White",
    "count": 3
}, {
    "label": "Blue",
    "count": 2
}, {
    "label": "Green",
    "count": 1
}]
}]
如何在不使用索引的情况下访问“名称”:“值”?因为数据可能会增长和变化,我不想在任何地方分配索引值?我仍然希望进行如下筛选:

| {name: 'Make'}: true)

在我的标记显示中,json不正确,我更正了它(下次您可以使用此站点查看json是否有效) 若要访问名称的值,请执行以下操作

在控制器中:

$scope.data = [
{
    "name": "cat1",
    "behaviour": "normal",
    "selected": 0,
    "values": [
        {
            "label": "define",
            "count": 6
        }
    ]
},
{
    "name": "cat2",
    "behaviour": "normal",
    "selected": 0,
    "values": [
        {
            "label": "type",
            "count": 6
        }
    ]
},
{
    "name": "Company",
    "behaviour": "multi-select",
    "selected": 0,
    "values": [
        {
            "label": "VW",
            "count": 4
        },
        {
            "label": "Renault",
            "count": 1
        },
        {
            "label": "Fiat",
            "count": 1
        }
    ]
},
{
    "name": "Make",
    "behaviour": "multi-select",
    "selected": 0,
    "values": [
        {
            "label": "Gold",
            "count": 3
        }
    ]
},
{
    "name": "Color",
    "behaviour": "normal",
    "selected": 0,
    "values": [
        {
            "label": "White",
            "count": 3
        },
        {
            "label": "Blue",
            "count": 2
        },
        {
            "label": "Green",
            "count": 1
        }
    ]
}
];
在HTML中

      <div ng-repeat="d in data"> {{d.name}} </div>
{{d.name}
如果要显示名为“Company”的对象的值,可以在“我的工作”中这样做:

只需添加一个新的ng重复:

   <div ng-repeat="d in data"> {{d.name}} 
         <div ng-if="d.name == 'Company'" ng-repeat="da in d.values">{{da.label}}</div>      
  </div>
{{d.name}
{{da.label}

首先,您的数据格式不是正确的JSON格式,请通过在线验证程序运行它

要访问该元素,您只需通过:

<li ng-repeat="item in data">
    {{ item.name }} {{ item.behaviour }} etc...
</li>
  • {{item.name}{{item.behavior}}等。。。

  • 清除$scope.data内的类别。。。让它成为一个类似于典型JSON值的数组。

    @carton-ha,必须同时发布。。足够简单的问题我无法处理结构:)我需要能够指定名称=公司例如,如果这是一家公司,你会做一些不同的事情吗?这是你的意思吗?所以不,我会这样做,例如:并显示一个count So值,例如CODEPEN添加到我的答案可能重复的