【问题标题】:Parsing DateTime from Json error in Flutter从 Flutter 中的 Json 错误解析 DateTime
【发布时间】:2019-08-19 09:43:14
【问题描述】:

我试图从 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。

【问题讨论】:

    标签: json datetime parsing flutter


    【解决方案1】:

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

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

    【讨论】:

    • 它需要一个静态值你知道非静态值的任何解决方案吗?
    • 你能提供你遇到问题的例子吗?
    猜你喜欢
    • 2020-07-13
    • 2013-11-30
    • 2011-09-17
    • 2021-05-16
    • 2012-05-05
    • 1970-01-01
    • 2018-10-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多