Flutter 中的错误:未处理的异常:“Null”类型不是“String”类型的子类型

Posted

技术标签:

【中文标题】Flutter 中的错误:未处理的异常:“Null”类型不是“String”类型的子类型【英文标题】:error in Flutter : Unhandled Exception: type 'Null' is not a subtype of type 'String' 【发布时间】:2022-01-18 15:06:05 【问题描述】:

当我从 api 调用数据时出现此错误,基于DateTime 属性的问题,

错误:未处理的异常:“Null”类型不是“String”类型的子类型

required this.dateTime,

DateTime dateTime;

DateTime.parse(json["dateTime"]),

"dateTime": dateTime.toIso8601String(),

【问题讨论】:

似乎 'json["dateTime"]' 为空。尝试检查json值是否存在'dateTime'键。 【参考方案1】:

使用这个

"dateTime": dateTime.toString()

【讨论】:

【参考方案2】:

当您访问时它的 Null 安全问题:json["dateTime"] 此值并解析为 DateTime,例如:-DateTime.parse(json["dateTime"],如果此值 json["dateTime"] 为空,则会出现此问题。通过在代码中稍作更改,您将重新解决此问题。

required this.dateTime,

DateTime dateTime;

DateTime.parse(json["dateTime"].toString()),// this line you need to edit. 

"dateTime": dateTime.toIso8601String(),

现在如果json["dateTime"] 这个值是空的,那么就不会出现任何问题,因为空值将被转换成字符串。通过添加 .toString()。

【讨论】:

以上是关于Flutter 中的错误:未处理的异常:“Null”类型不是“String”类型的子类型的主要内容,如果未能解决你的问题,请参考以下文章

错误:flutter/lib/ui/ui_dart_state.cc(177) 未处理的异常:NoSuchMethodError:方法“插入”在 null 上调用

如何解决此问题 [错误:flutter/lib/ui/ui_dart_state.cc(199)] 未处理的异常:NoSuchMethodError:getter 'phone' 被调用为 null。

如何解决此问题 [错误:flutter/lib/ui/ui_dart_state.cc(199)] 未处理的异常:NoSuchMethodError:在 null 上调用了 getter 'insta

错误:flutter/lib/ui/ui_dart_state.cc(157) 未处理的异常:类型 'Future<dynamic>' 不是类型 'FutureOr<Null>

未处理的异常:NoSuchMethodError:方法'showNotificationDaily'在flutter中被调用为null

Flutter,无法提取 api 数据:(未处理的异常:NoSuchMethodError:方法 'map' 在 null 上被调用。)