Не удалось получить счетчик из списка API flutter

#flutter #flutter-test

Вопрос:

Я пытаюсь получить количество пользователей из этого API в flutter(см. код ниже), однако всякий раз, когда эта функция выполняется, она выдает необработанное исключение с ошибкой: тип «Null» не является подтипом типа «Строка»

Я застрял на этом, ваша помощь была бы очень признательна.

 Future getLeadsList() async {
var response = await http.get(
  Uri.https('jsonplaceholder.typicode.com', 'users'),
);
var jsonData = jsonDecode(response.body);

late List<Lead> leads = [];

for (var l in jsonData) {
  Lead lead = Lead(l["name"], l["username"], l["email"]);
  leads.add(lead);
}
print(leads.length);
return leads;
 

}

Комментарии:

1. Зависит от класса «Ведущий». Можете ли вы поделиться его кодом?

2. Вы уверены, что ни одно из этих значений не равно нулю? l[«имя»], l[«имя пользователя»], l[«электронная почта»]

3. @JorgeVieira никакое значение не равно нулю, это открытый API, вы можете проверить там.

4. @AmirhosseinShahbazi, лидер класса { имя последней заключительной строки, имя пользователя, адрес электронной почты; Лидер(this.name, это.имя пользователя, это.адрес электронной почты); }

5. С этим нет никаких проблем. Я скопировал ваш код и распечатал как длину, так и содержание «лидов». работает отлично: pasteboard.co/Kef465i.png Вы протестировали/распечатали данные jsonData и содержат ли они фактические данные? Вызов API работает нормально?

Ответ №1:

Попробуйте добавить нулевой синтезатор безопасности,

 for (var l in jsonData) {
  Lead lead = Lead(l["name"] ?? "", l["username"] ?? "", l["email"] ?? "");
  leads.add(lead);
}
 

Комментарии:

1. нп братан, проголосуй, ответ полезен, плз ~ ха-ха

2. мое репо невелико, они не считают мой голос. 🙁