JSON本地:不能从LISTTILE flutter加载数据



我的代码有问题吗?它只在listtile中加载错误。有什么办法可以补救吗?我已经通过使用数据类

将json转换为dart
class _PlantPageState extends State<PlantPage> {


@override
Widget build(BuildContext context) => Scaffold(
body: FutureBuilder<List<Plants>>(
future: PlantsApi.getPlantsLocally(context),
builder:(context, snapshot) {
final plants = snapshot.data;
switch (snapshot.connectionState) {
case ConnectionState.waiting:
return Center(child: CircularProgressIndicator());
default:
if (snapshot.hasError) {
return Center(child: Text('Some error'),);
}
else {
return buildPlants(plants!);
}
Widget buildPlants(List<Plants> plants) => 
ListView.builder(

itemCount: plants.length,
itemBuilder: (context, index) {
final plant = plants[index];
return 

ListTile (
title: Text(plant.name ?? "Name"),
);
}
);

这里是我的fetchdata from json

class PlantsApi {
static Future<List<Plants>> getPlantsLocally(BuildContext context) async {
final assetBundle = DefaultAssetBundle.of(context);
final data = await assetBundle.loadString('assets/plants.json');
final body = json.decode(data);
return body.map<Plants>((e) => Plants.fromJson(e)).toList();
}
}

您是否在pubspec.yaml中启用了这些资产?如果不是,那可能就是问题了

最新更新