json的值必须使用ng-repeat来逃避

时间:2014-08-04 05:14:21

标签: json angularjs

我有像

这样的json文件
 { 
  "2014-08-01T23:00:00.000+05:30": { "In": 12, "Out": 23, "s1": 0 }
  "2014-08-01T22:00:00.000+06:00": { "In": 0, "Out": 0, "s2": 0 }
  "2014-08-01T22:00:00.000+06:30": { "In": 54, "Out": 0, "s3": 0 }
}

是否可以忽略第一个索引(例如:{2014-08-01T23:00:00.000 + 05:30,2014-08-01T22:00:00.000 + 06:00} .. bcoz其变化的时间)属性并使用ng-repeat来访问In和Out属性?

2 个答案:

答案 0 :(得分:1)

您正在尝试迭代object而不是array,正确的语法如下。

  

(key, value) in expression - 其中key和value可以是任何用户定义的标识符,expression是范围表达式,用于枚举集合。

     

例如:(name, age) in {'adam':10, 'amalie':12}

     

来自https://docs.angularjs.org/api/ng/directive/ngRepeat

在你的情况下,它会是,

<div ng-repeat="(key, value) in items">
    <span>In: {{ value.In }}, Out: {{ value.Out }}</span>
</div>

如果您需要,{{ key }}将成为时间戳。

答案 1 :(得分:0)

是的,这是可能的。

//Json Data
$scope.data = { 
  "2014-08-01T23:00:00.000+05:30": { "In": 12, "Out": 23, "s1": 0 },
  "2014-08-01T22:00:00.000+06:00": { "In": 0, "Out": 0, "s2": 0 },
  "2014-08-01T22:00:00.000+06:30": { "In": 54, "Out": 0, "s3": 0 }
}


//html
<div ng-app="myapp" ng-controller="myController">
  <ul ng-repeat="d in data">
    <li>In: {{d.In}} Out: {{d.Out}}</li>
  </ul>
</div>

Fiddle Demo