Angularjs 使用ng repeat以特定密钥定位特定数据项

Angularjs 使用ng repeat以特定密钥定位特定数据项,angularjs,json,angularjs-ng-repeat,Angularjs,Json,Angularjs Ng Repeat,我有一个JSON对象,如下所示: { "name": "cameraasd_main_autofocus", "value": "Lasasd autofocus", "displayName": "Autofocus" }, { "name": "screen_siasdze", "value": "5.2\asd", "displayName": "Sdascreen Size", "group": "General" }, { "name"

我有一个JSON对象,如下所示:

{
   "name": "cameraasd_main_autofocus",
   "value": "Lasasd autofocus",
   "displayName": "Autofocus"
 },
{
   "name": "screen_siasdze",
   "value": "5.2\asd",
   "displayName": "Sdascreen Size",
   "group": "General"
},
{
   "name": "camera_maindas_features",
   "value": "Digital Zoom,das Auto Flash, Digital image stabilization"
   "displayName": "Features"
},
在这个数据对象中,我只想将具有
group
属性且具有
ng repeat
的元素作为目标。我必须用一个特定的组来进一步分组元素。例如,从整个对象中,组值为“General”的元素应与其余元素分开。


<div ng-repeat="x in records">
    <div ng-if="x.group"> {{x.name}} </div>
</div>
{{x.name}

试试看这是否有效!!祝你好运

假设您的JSON包含一个数组(在JSON中没有显示,但我假设它在那里)。 首先,将JSON解析为JsonObject,然后将其作为数组获取

JSONArray jsonArray = new JSONArray(jsonString);
然后可以在html中执行此操作

<div ng-repeat="elem in jsonArray">
   <a ng-if="elem.group">{{ elem.property }}</a>
</div>

{{elem.property}}

您可以创建一个范围变量来存储具有属性“group”的筛选项,如下所示

var data = [{
   "name": "cameraasd_main_autofocus",
   "value": "Lasasd autofocus",
   "displayName": "Autofocus"
 },
{
   "name": "screen_siasdze",
   "value": "5.2asd",
   "displayName": "Sdascreen Size",
   "group": "General"
},
{
   "name": "camera_maindas_features",
   "value": "Digital Zoom,das Auto Flash, Digital image stabilization",
   "displayName": "Features"
}];

$scope.filteredData = data.filter(function(x){ return x.hasOwnProperty("group")});
然后在UI中使用
ng repeat

<ul>
    <li ng-repeat="item in filteredData">
      {{item.name}} || {{item.value}} 
    </li>
</ul>
在这种情况下,只显示
常规
组。

检查此代码

<div>
        <h3>With Group</h3>
        <div ng-repeat="d in data">
            <div ng-if="d.group">
                {{d.name}}
            </div>
        </div>
    </div>

    <div>
        <h3>Without Group</h3>
        <div ng-repeat="d in data">
            <div ng-if="!d.group">
                {{d.name}}
            </div>
        </div>
    </div>

与集团
{{d.name}
无组
{{d.name}

这是有效的。你能帮我用一种特殊的方法把元素分开吗group@ujjwalgupta我已经更新了我的答案,只显示了一般组。当然@ujjwalgupta。。您可以使用这个$scope.groupX=yourJSONData.filter(groupWithANameX=>groupWithANameX.groupWithANameX==“Features”)。然后在上面的html中,您可以用groupX替换记录。请检查我的答案,以便与该组一起过滤。您可以提供指向该答案的链接吗
<div>
        <h3>With Group</h3>
        <div ng-repeat="d in data">
            <div ng-if="d.group">
                {{d.name}}
            </div>
        </div>
    </div>

    <div>
        <h3>Without Group</h3>
        <div ng-repeat="d in data">
            <div ng-if="!d.group">
                {{d.name}}
            </div>
        </div>
    </div>