将JSON日期加载到Dart日期时间

问题描述:

我有一个提供MySQL日期的Rails服务器。我的课程是基于AngularDart教程设置的。它似乎没有正确加载。将JSON日期加载到Dart日期时间

我的artist_service。镖法:

Future<List<Record>> getArtistsRecords(int id) async { 
    String url = 'http://catbox.loc/artists/${id.toString()}/records'; // Rails: artists/:id/records 
    try { 
     HttpRequest response = await HttpRequest.request(
      url, requestHeaders: headers); 
     List data = JSON.decode(response.responseText); 
     final records = data 
      .map((value) => new Record.fromJson(value)) 
      .toList(); 
     return records; 
    } 
    catch (e) { 
     throw _handleError(e); 
    } 
    } 

我artist.dart工厂方法:

factory Record.fromJson(Map<String, dynamic> record) => 
    new Record(_toInt(record['id']), 
     record['title'], 
     record['catalog'], 
     record['artist_id'], 
     record['label_id'], 
     record['style_id'], 
     record['alternate_catalog'], 
     record['recording_date'], 
     record['notes'], 
     record['penguin'], 
     record['category'] 
); 

有问题的元件是recording_date,它被声明为DateTime。当我在html中包含{{recording_date}}时,例如,我得到1958-03-09。如果我尝试{{ recording_date | date}},它会将错误视为无效格式。我怀疑我没有正确设置DateTime对象。工厂方法可以这样做吗?

变化

record['recording_date'], 

DateTime.parse(record['recording_date']),