首页 > 解决方案 > 从 Flutter 中的 Json 错误解析 DateTime

问题描述

我试图从 Json 获取简单的 DateTime 格式到我的颤振应用程序,但是我尝试我仍然得到这种格式:2019-03-28 10:06:27.090Z

我得到这个错误:

E/flutter (27849): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: ApiException 500: Exception during deserialization. (Inner exception: {innerException})
E/flutter (27849): 
E/flutter (27849): #0      DateTime.parse (dart:core/date_time.dart:335:7)*

这是代码示例:

  MyClass.fromJson(Map<String, dynamic> json) {
    if (json == null) return;
    name = json['name'];
    deletionTime = json['deletionTime'] == null ? null : DateTime.parse(json['deletionTime']);
    lastModificationTime = json['lastModificationTime'] == null ? null : DateTime.parse(json['lastModificationTime']);
    creationTime = json['creationTime'] == null ? null : DateTime.parse(json['creationTime']);
    id = json['id'];
  }

我期待 Json 成功解析为 DateTime。

标签: jsondatetimeparsingflutter

解决方案


DateTime.parse只接受String参数。由于值是使用动态检查类型json['key'].runtimeType并尝试以下解决方案。

DateTime.parse(json['deletionTime'].toString());

DateTime.parse(json['creationTime'].toString());

推荐阅读