【发布时间】:2022-11-05 15:04:57
【问题描述】:
Flutter 环境:sdk: ">=2.17.0 <3.0.0"
错误:
I/flutter (28168): NoSuchMethodError: Class 'String' has no instance method 'map'.
I/flutter (28168): Receiver: ""
I/flutter (28168): Tried calling: map(Closure: (dynamic) => Datum)
E/flutter (28168): [ERROR:flutter/lib/ui/ui_dart_state.cc(198)] Unhandled Exception: NoSuchMethodError: Class 'String' has no instance method 'map'.
E/flutter (28168): Receiver: ""
E/flutter (28168): Tried calling: map(Closure: (dynamic) => Datum)
我尝试了以下解决方案
factory AddressGetResponse.fromJson(Map<String, dynamic> json) => AddressGetResponse(
status: json["status"],
message: json["message"],
data: json["data"] == null ? null :List<Datum>.from(json["data"].map((x) => Datum.fromJson(x))),
);
但得到了上述错误:
参数类型“列表?”不能分配给参数类型“列表”。
【问题讨论】:
-
你确定吗?你的 json['data'] 是 List 因为你的控制台提到它是 String 并且 String 没有方法映射。
标签: json flutter dart dart-null-safety