Flutter 颤振/飞镖当我尝试从internet导入数据时,它不会';别装了
我是新来的飞镖手。。。 我试图使用json.decode从http导入数据,但它始终为null,显示“正在加载…”。我正在使用FutureBuilder!我已经找到了解决办法,但没有找到。我用它来模拟。 希望有人能帮忙!:)Flutter 颤振/飞镖当我尝试从internet导入数据时,它不会';别装了,flutter,dart,snapshot,jsondecoder,flutter-futurebuilder,Flutter,Dart,Snapshot,Jsondecoder,Flutter Futurebuilder,我是新来的飞镖手。。。 我试图使用json.decode从http导入数据,但它始终为null,显示“正在加载…”。我正在使用FutureBuilder!我已经找到了解决办法,但没有找到。我用它来模拟。 希望有人能帮忙!:) 对数据进行fet时出错 使用try-catch查看错误。您将看到此错误 类型“int”不是类型“String”的子类型 下面是如何修复的 Future<List<Technician>> getTechies() async { try {
对数据进行fet时出错 使用try-catch查看错误。您将看到此错误 类型“int”不是类型“String”的子类型 下面是如何修复的
Future<List<Technician>> getTechies() async {
try {
var data = await http.get("https://jsonplaceholder.typicode.com/posts");
var jsonData = json.decode(data.body);
List<Technician> techies = [];
for (var u in jsonData) {
Technician myTechy = Technician(u["userId"], u["id"], u["tittle"], u["body"]);
techies.add(myTechy);
}
return techies;
} catch (e) {
print(e);
}
}
如果您不想更改技师
课程。在你的循环中这样做
for (var u in jsonData) {
Technician myTechy = Technician(u["userId"].toString(), u["id"].toString(), u["tittle"], u["body"]);
techies.add(myTechy);
}
然后将list.builder更改为
return ListView.builder(
itemCount: snapshot.data.length,
itemBuilder: (BuildContext context, int index) {
return ListTile(
title: Text(snapshot.data[index].userId.toString()),
subtitle: Text(snapshot.data[index].id.toString()),
);
},
);
class Technician {
final int userId;
final int id;
final String tittle;
final String body;
Technician(this.userId, this.id, this.tittle, this.body);
}
for (var u in jsonData) {
Technician myTechy = Technician(u["userId"].toString(), u["id"].toString(), u["tittle"], u["body"]);
techies.add(myTechy);
}
return ListView.builder(
itemCount: snapshot.data.length,
itemBuilder: (BuildContext context, int index) {
return ListTile(
title: Text(snapshot.data[index].userId.toString()),
subtitle: Text(snapshot.data[index].id.toString()),
);
},
);