#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. мое репо невелико, они не считают мой голос. 🙁