将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']),