AngularJS:如何使用angular从json文件中读取数据

Sin*_*dhu 1 javascript json date date-conversion angularjs

我们使用JQueryajax读取json数据并转换为对象.

jQuery脚本

 $.ajax({
        type: "GET",
        dataType: 'json',
        url: 'data.json',
        converters:
    {
        "text json": function (data) {
            return $.parseJSON(data);
        }
    },
        success: function (data) {
            self.jsonData = data;
        }
    });
Run Code Online (Sandbox Code Playgroud)

data.json

[{
   "Name" : "Task 1",
   "ID" : 1,
   "StartTime" : "2014-02-02T00:00:00Z",
   "Effort" : "8:00:00",
   "Description" : "Description of Task 1"
 }, 
 {
   "Name" : "Task 2",
   "ID" : 2,
   "PredecessorIndices" : "1",
   "StartTime" : "2014-02-03T00:00:00Z",
   "Effort" : "16:00:00",
   "Description" : "Description of Task 2"
  }, 
  {
   "Name" : "Task 3",
   "ID" : 3,
   "StartTime" : "2014-02-02T00:00:00Z",
   "Effort" : "1.12:30:00",
   "ProgressPercent" : 90,
   "Description" : "Description of Task 3"      
 }]
Run Code Online (Sandbox Code Playgroud)

这里将日期字符串转换为Jsdate像这样的对象:Json Date Parsing

如何使用angularjs读取json数据并将json日期字符串解析为Jsdate对象?

Nid*_*nan 5

首先尝试不将JQuery与AngularJS混合使用.

如果你想获得json文件,而不是JQuery-Ajax使用AngularJS $ http服务,如下所示,并转换为日期对象,你可以使用Date.parse

 $scope.self = {};
  $http.get('data.json').success(function(data) {
    $scope.self.jsonData = data;
    $scope.self.jsonData.forEach(function(value, key) {
      value.StartTime = Date.parse(value.StartTime); // converting into date
    });
  });
Run Code Online (Sandbox Code Playgroud)

在Html中

<tr ng-repeat="arr in self.jsonData">
  <td>
      {{arr.StartTime |date: 'yyyy-MM-dd'}}
  </td>
</tr>
Run Code Online (Sandbox Code Playgroud)

工作演示