【发布时间】:2020-03-19 09:03:59
【问题描述】:
我有一个看起来像这样的冻结课程 -
@freezed
abstract class User with _$User {
factory User(
{@required String uid,
String firstName,
String lastName,
String email,
Map<String, dynamic> pictures,
@Default(false) bool isAdmin}) = _User;
factory User.fromJson(Map<String, dynamic> json) => _$UserFromJson(json);
}
这个类保存在云火库中,我正在使用它来阅读它:
User user = User.fromJson(dataFromFirebase);
但我在阅读时收到此错误:
#0 _$_$_UserFromJson (package:my_app/freezed/freezed_classes.g.dart:15:32)
#1 new _$_User.fromJson (package:my_app/freezed/freezed_classes.freezed.dart:68:7)
#2 _$UserFromJson (package:my_app/freezed/freezed_classes.freezed.dart:11:16)
#3 new User.fromJson (package:my_app/freezed/freezed_classes.dart:18:55)
#4 FirestoreService.getUserInfo (package:my_app/services/firestore_service.dart:75:22)
<asynchronous suspension>
#5 FirebaseAuthService.currUserFromUserCollection (package:my_app/services/firebase_auth_service.dart:27:53)
#6 FirebaseAuthService._userFromFirebase (package:my_app/services/firebase_auth_service.dart:17:27)
#7 FirebaseAuthService.signInWithEmailAndPassword (package:my_app/services/firebase_auth_service.dart:47:12)
<asynchronous suspension>
#8 EmailPasswordSignInModel.submit (package:finc<…>
有人知道这里会发生什么吗?我尝试使用 and 作为我的 Map 类的类型(它有一个 String 键和一个 String 值),但仍然抛出相同的异常。
【问题讨论】:
-
为什么你不使用json_serializable .or json_annotation。