下面是代码。
Future<Article> _getArticle(int id) async{
final storyUrl = "https://jsonplaceholder.typicode.com/photos";
final storyRes = await http.get(storyUrl);
if(storyRes.statusCode == 200){
return parseArticle(storyRes.body);
}else{
throw Exception ("Failed to load photos");
}
}
storyRes始终设置为NULL。我不知道为什么?
答案 0 :(得分:0)
我试图从您的Json占位符创建一个Article类,它的工作就像一种魅力。
Future<Article> _getArticle(int id) async {
final storyUrl = "https://jsonplaceholder.typicode.com/photos";
final storyRes = await http.get(storyUrl);
/** Created an Array from your json via using Article Class*/
final ArtArray = articleFromJson(storyRes.body);
if (storyRes.statusCode == 200) {
print(ArtArray[3999].title);
return parseArticle(storyRes.body[id]);
} else {
throw Exception("Failed to load photos");
}
}
Future<Article> parseArticle(String body) {
}
我还没有实现parseArticle,只是为您的文章添加了一个类,并尝试打印结果并成功。 这是飞镖课
import 'dart:convert';
List<Article> articleFromJson(String str) => List<Article>.from(json.decode(str).map((x) => Article.fromJson(x)));
String articleToJson(List<Article> data) => json.encode(List<dynamic>.from(data.map((x) => x.toJson())));
class Article {
int albumId;
int id;
String title;
String url;
String thumbnailUrl;
Article({
this.albumId,
this.id,
this.title,
this.url,
this.thumbnailUrl,
});
factory Article.fromJson(Map<String, dynamic> json) => Article(
albumId: json["albumId"],
id: json["id"],
title: json["title"],
url: json["url"],
thumbnailUrl: json["thumbnailUrl"],
);
Map<String, dynamic> toJson() => {
"albumId": albumId,
"id": id,
"title": title,
"url": url,
"thumbnailUrl": thumbnailUrl,
};
}
我希望它对您有用。