http 的 flutter 中出现错误 _InternalLinkedHashMap
error _InternalLinkedHashMap in the flutter for http
我运行这组代码在flutter中,但是运行时候显示图像错误
import 'dart:convert';
import 'package:http/http.dart' as http;
class ServisApi {
final client = http.Client();
Future<ModelSpescal> PokomanSpeciesServisApli(int id) async {
final Url = Uri.https('pokeapi.co', '/api/v2/pokemon-species/$id/');
print('pokospikal' ' ' '${Url}');
final response1 =
await client.get(Url).then((value) => json.decode(value.body));
print((response1.toString().isNotEmpty));
final ResponsFromjson = ModelSpescal(test: response1);
return ResponsFromjson;
}
}
class ModelSpescal {
final String test;
ModelSpescal({required this.test});
factory ModelSpescal.Fromjson(Map<String, dynamic> jsonTest) {
return ModelSpescal(test: jsonTest['name']);
}
}
main() {
print(ServisApi().PokomanSpeciesServisApli(320));
}
这可能是因为类型转换问题。由于您使用的是 async
和 await
,因此您可以像下面这样简化代码。
Future<ModelSpescal> PokomanSpeciesServisApli(int id) async {
// Other codes
final response = await http.get(Url);
final Map<String, dynamic> response1 = json.decode(response.body);
final ResponsFromjson = ModelSpescal.Fromjson(response1);
return ResponsFromjson;
}
我运行这组代码在flutter中,但是运行时候显示图像错误
import 'dart:convert';
import 'package:http/http.dart' as http;
class ServisApi {
final client = http.Client();
Future<ModelSpescal> PokomanSpeciesServisApli(int id) async {
final Url = Uri.https('pokeapi.co', '/api/v2/pokemon-species/$id/');
print('pokospikal' ' ' '${Url}');
final response1 =
await client.get(Url).then((value) => json.decode(value.body));
print((response1.toString().isNotEmpty));
final ResponsFromjson = ModelSpescal(test: response1);
return ResponsFromjson;
}
}
class ModelSpescal {
final String test;
ModelSpescal({required this.test});
factory ModelSpescal.Fromjson(Map<String, dynamic> jsonTest) {
return ModelSpescal(test: jsonTest['name']);
}
}
main() {
print(ServisApi().PokomanSpeciesServisApli(320));
}
这可能是因为类型转换问题。由于您使用的是 async
和 await
,因此您可以像下面这样简化代码。
Future<ModelSpescal> PokomanSpeciesServisApli(int id) async {
// Other codes
final response = await http.get(Url);
final Map<String, dynamic> response1 = json.decode(response.body);
final ResponsFromjson = ModelSpescal.Fromjson(response1);
return ResponsFromjson;
}