ошибка (Метод «карта» не может быть вызван безусловно, потому что получатель может быть «нулевым». Создание условного вызова (используя '?') или добавление нулевой проверки к цели ('!).)
Future<Post> fetchPhotos() async {
http.Response res =await http.get(Uri.https('jsonplaceholder.typicode.com', 'posts/2'));
if (res.statusCode == 200) {
String data = res.body;
var jsonData = jsonDecode(data);
Posts posts = Posts.fromJson(jsonData);
List<Post> pList = posts.postList.map((e) => Post.fromJson(e)).toList();//
return posts;
} else {
throw Exception("faild to load photos");
}
}
Модель
import 'package:flutter/foundation.dart';
class Post {
final int? userId;
final int? id;
final String? title;
final String? body;
Post({
@required this.userId,
@required this.id,
@required this.title,
@required this.body,
});
factory Post.fromJson(Map<String, dynamic> jsonData) {
return Post(
userId: jsonData["userId"],
id: jsonData["id"],
title: jsonData["title"],
body: jsonData["body"]);
}
}
class Posts {
late final List<dynamic>? postList;
Posts({this.postList});
factory Posts.fromJson(Map<String, dynamic> jsonData) {
return Posts(
postList: jsonData['postList'],
);
} }
добавить ! в postList, например: posts.postList!.map
у ваших данных API нет
postList
.