enter image description here [这是前面板,它是gridTile,并从firebase获取数据
<!-- this is the method which the grid time is using to fetch data from firebase-->
Future<void> fetchAndSetProducts() async {
const url ='MY flutter url';
try {
final response = await http.get(url);
final extractedData = json.decode(response.body) as Map<String, dynamic>;
final List<Product> loadedProducts = [];
extractedData.forEach((prodId, prodData) {
loadedProducts.add(Product(
id: prodId,
title: prodData['title'],
description: prodData['description'],
price: prodData['price'],
isFavorite: prodData['isFavorite'],
imageUrl: prodData['imageUrl'],
));
});
_items = loadedProducts;
notifyListeners();
} catch (error) {
throw (error);
}
}
] 2
enter image description here
最佳答案
这是您的json:
{
"-M1We9LYxWhijvoECbpY":{
"description":"Abe Kya be saale",
"imageURL":"https://cdn.wallpapersafari.com/89/2/Lnxobm.jpg",
"isFavorite":false,
"price":747.0,
"title":"test"
},
"-M1WlRlzv8rYwhGklkyc":{
"description":"Abe sale nikal na",
"imageURL":"https://cdn.wallpapersafari.com/89/2/Lnxobm.jpg",
"isFavorite":false,
"price":43.0,
"title":"fdddfff"
},
"-M1XmbG11YGDgSdJyfvm":{
"description":"dfvdfvfdvfvfdb",
"imageURL":"https://cdn-products.eneba.com/resized-products/qoA2QojrFaqg8VtfKSEJm1jsXU-9UEJJSNf2WTvMBjE_390x400_2x-0.jpeg",
"isFavorite":false,
"price":74.0,
"title":"new"
},
"-M1axCdqSDIIijYYSXDX":{
"description":"gctdcgchvhgvggh",
"imageURL":"https://cdn.pixabay.com/photo/2016/10/02/22/17/red-t-shirt-1710578_1280.jpg",
"isFavorite":false,
"price":411.0,
"title":"bhbn"
},
"-M1i_KbskfnTLxfFRIiu":{
"description":"dzvfvbvfbvggfbvxfgb gfvb ",
"imageUrl":"https://5.imimg.com/data5/IJ/JK/MY-11744895/playing-football-500x500.jpg",
"isFavorite":false,
"price":65.0,
"title":"fbvfbvc cv"
}
}
除了一个包含
imageURL
属性的节点外,所有节点都包含imageUrl
属性。因此,首先您需要更改json,以便所有节点都将包含imageURL
(大写URL),然后在您的代码中执行以下操作: extractedData.forEach((prodId, prodData) {
loadedProducts.add(Product(
id: prodId,
title: prodData['title'],
description: prodData['description'],
price: prodData['price'],
isFavorite: prodData['isFavorite'],
imageUrl: prodData['imageURL'],
));
});
关于json - 尝试使用Firebase来获取我的flutter应用程序的获取请求并出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60558658/