在get调用中,我得到了错误“_TypeError (type '(dynamic) => dynamic‘不是'(String,dynamic) => MapEntry’of 'transform')的子类型”,我没有使用任何类,我直接转换数据,例如数据‘I’。我要从我的基地供应商那里打电话
Future<List<T>> get([dynamic search]) async {
var url = "$_baseUrl$_endpoint";
if (search != null) {
String queryString = getQueryString(search);
url = url + "?" + queryString;
}
var uri = Uri.parse(url);
Map<String, String> headers = createHeaders();
var response = await http!.get(uri, headers: headers);
if (isValidResponseCode(response)) {
var data = jsonDecode(response.body);
return data.map((x) => fromJson(x)).cast<T>().toList();
} else {
throw Exception("Exception... handle this gracefully");
}
}这就是我从api JSON数据得到的信息。
我怎么才能解决这个问题?请不要删除我的职位,我试图找到解决办法,但我没有成功。非常感谢
//更新
Future<T?> get([dynamic search]) async {
var url = "$_baseUrl$_endpoint";
if (search != null) {
String queryString = getQueryString(search);
url = url + "?" + queryString;
}
var uri = Uri.parse(url);
Map<String, String> headers = createHeaders();
var response = await http!.get(uri, headers: headers);
if (isValidResponseCode(response)) {
var data = jsonDecode(response.body)['data'];
return data;
} else {
throw Exception("Exception... handle this gracefully");
}
}发布于 2022-07-28 14:56:58
尝尝这个。
List data = jsonDecode(response.body).cast<Map<String, dynamic>>();或者你可以加上这个
var data = jsonDecode(response.body).cast<Map<String, dynamic>>();
List result=await data.map((x) => fromJson(x)).cast<T>().toList();
return resulthttps://stackoverflow.com/questions/73154445
复制相似问题