json - 参数类型“对象?” 不能分配给参数类型“地图”
问题描述
我想从 Firebase Firestore 获得一个类别部分,所以我使用了这个类
class CategoryModel {
late String name, image;
CategoryModel({
required this.name,
required this.image,
});
CategoryModel.fromJson(Map<dynamic, dynamic> map) {
if (map == null) {
return;
}
name = map['name'];
image = map['image'];
}
toJson() {
return {
'name': name,
'image': image,
};
}
}
然后我用gets创建了这个
class HomeViewModel extends GetxController {
ValueNotifier<bool> get loading => _loading;
ValueNotifier<bool> _loading = ValueNotifier(false);
List<CategoryModel> get categoryModel => _categoryModel;
List<CategoryModel> _categoryModel = [];
HomeViewModel() {
getCategory();
}
getCategory() async {
_loading.value = true;
await HomeService().getCategory().then((value) {
for (int i = 0; i < value.length; i++) {
_categoryModel.add(
CategoryModel.fromJson(
value[i].data(),
),
);
_loading.value = false;
}
update();
});
}
}
但是当我尝试使用函数 getCategory() 从 Firestore 获取类别时,会出现此错误
解决方案
以这种方式尝试并告诉我它是否已修复。
CategoryModel.fromJson(
value[i].data() as Map<String,dynamic>,
),
推荐阅读
- azure-active-directory - 我可以将 bcrypted 密码导入 Azure AD B2C 吗?
- laravel - 如何更改 spatie 媒体库中的图像目录?
- react-native - 嵌套在 Stack Navigator 中的 Drawer 中的动态项目 react-navigation
- c# - 获取 ML NET 模型 zip 文件流时 Blazor 中的错误
- r - Read_csv 忽略分隔符
- .htaccess - .htaccess 重写命令的行为不符合预期
- python - 无法从 Windows 命令提示符运行 PIP 命令
- android - Kivy android 应用程序 kv 语言无法正常工作
- php - 我的 curl 发布请求不包含 cookie 吗?
- unity3d - 立方体在鼠标点击时不旋转