【发布时间】:2017-07-18 17:15:52
【问题描述】:
我的目标是使用来自以下示例嵌套 JSON 的 AngularJS 实现以下格式的表格。
{
"traits": ["Number of Observations","Observed Number of Exceptions","95-99", "95-95","99-95", "99-99"],
"values": [
{
"AAAA1": {
"Number of Observations": 252,
"95-95": {
"Test Statistic": -1.040531963428947,
"P-Value": 0.85095358899764695,
"Test Outcome": "p-value >=0.05"
},
"95-99": {
"Test Statistic": 5.368809379876272,
"P-Value": 3.9629067916102656e-08,
"Test Outcome": "p-value <0.01"
},
"Observed Number of Exceptions": 9
}
},
{
"AAAA2": {
"Number of Observations": 43,
"95-99": {
"Test Statistic": -1.040531963428947,
"P-Value": 0.85095358899764695,
"Test Outcome": "p-value >=0.05"
},
"95-95": {
"Test Statistic": -0.46245865041286727,
"P-Value": 0.67812377583172401,
"Test Outcome": "p-value >=0.05"
},
"Observed Number of Exceptions": 7
}
}
]
}
“values”键下有两个对象,它们依次会在表中创建两行。我在这里用 JSON 创建表的问题是,我需要遍历“95-95”对象、“95-99”对象等,并为每个对象创建“3”列。使用下面的代码,我能够在“95-95”对象下创建 3 列;但正如您所见,我在 ng-repeat 中使用 'AAAA1' 键值进行了硬编码。 在表中的行级别,我正在使用最外层的 json 循环;对于“td”创建循环通过最内层的 JSON 对象,因此无法获取中间级别的对象键值。 strong> 有什么方法可以从不在任何ng-repeat 中的任何键值“AAAA1”、“AAAA2”中获取它。
<tr ng-repeat="(key,value) in Controller.values">
<td class="text-center" ng-repeat="(key1,value1) in value['AAAA1']['95-95']">
{{value1}}
</td>
由于我无法做到这一点,我目前卡在下面的静态代码中,这对我来说不是很有用。
<td class="text-center" ng-repeat="(key1,value1) in value">
{{value1["95-95"]["Test Statistic"]}}
</td>
<td class="text-center" ng-repeat="(key1,value1) in value">
{{value1["95-95"]["P-Value"]}}
</td>
<td class="text-center" ng-repeat="(key1,value1) in value">
{{value1["95-95"]["Test Outcome"]}}
</td>
【问题讨论】:
标签: javascript angularjs json