Я пытаюсь заполнить свой список Json данными, полученными из API c publi, но когда я пытаюсь запустить код, я получаю следующие ошибки. Я попытался получить доступ к другому URL-адресу с другим набором данных json, но все еще получаю ту же ошибку.
Класс List не имеет экземпляра получателя 'lenght'. Получатель: Экземпляр (длина: 248) из '_GrowableList' Пробовал позвонить: lenght
Вот мой код
class CountryCase {
String country;
String slug;
String iso;
CountryCase (this.country, this.slug, this.iso);
CountryCase.json(Map<String, dynamic> json) {
country = json['Country'];
slug = json['Slug'];
iso = json['ISO2'];
}
}
class CountryScreen extends StatefulWidget {
CountryScreen({Key key}) : super(key: key);
@override
_CountryScreenState createState() => _CountryScreenState();
}
class _CountryScreenState extends State<CountryScreen> {
Future<List<CountryCase>> fetchInfo() async {
var apiUrl = 'https://api.covid19api.com/countries';
var result = await http.get(apiUrl);
var users = List<CountryCase>();
if (result.statusCode == 200) {
var usersJson = json.decode(result.body);
for (var user in usersJson) {
users.add(CountryCase.json(user));
}
}
return users;
}
@override
Widget build(BuildContext context) {
return Scaffold(
bottomNavigationBar: BottomNavBar(),
body: Container(
child: FutureBuilder<List<dynamic>>(
future: fetchInfo(),
builder: (BuildContext context, AsyncSnapshot snapshot) {
if (snapshot.data == null) {
return Container(
child: Center(
child: Text('Loading Data...'),
),
);
} else {
return ListView.builder(
itemCount: snapshot.data == null ? 0 : snapshot.data.lenght,
itemBuilder: (BuildContext context, int index) {
return ListTile(
title: Text(snapshot.data[index].contry),
);
},
);
}
},
)),
);
}
}