json - 将 JSON 日期加载到 Dart DateTime

标签 json dart angular-dart

我有一个正在传送 MySQL 日期的 Rails 服务器。我的类(class)是根据 AngularDart 教程设置的。似乎无法正确加载。

我的艺术家服务。 Dart 方法:

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

关于json - 将 JSON 日期加载到 Dart DateTime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38559388/

相关文章:

python - 在带有数组的嵌套 Json 上使用 Pandas json_normalize

c# - 加载在 Unity 中创建的下载的 iOS 应用程序文件

json - 访问 MVC 和 Razor 中的嵌套 JSON 元素

dart - 使用BottomNavigationBar导航时如何在 flutter 中保留小部件状态?

dart - 我如何在 TextSpan 中使用 'vertical-align: super'

flutter - Flutter 照片管理的最佳方式

dart - Angular.dart 的异步模块定义(AMD)?

c# - 使用 ServiceStack.Text : determine JSON is Array, 对象或字符串?

dart - 是否可以使用 Flutter 提供的 Dart SDK 作为 AngularDart 的 SDK?

dart - 使用angular-dart组件,提供自己的实例,而不是调用构造函数