【发布时间】:2020-03-03 15:14:20
【问题描述】:
我使用 Dart "json_serializable" 包在 Flutter 应用程序中的 Firestore 数据结构下反序列化。
{
googleBookId: jjl4BgAAQBAJ,
providers: [
{providerId: 2FA9fULKLLf7VUPPFnFRnv},
{providerId: 8UYTGUHY7UJS432FVBJRnv}
]
}
下面是要映射的模型类:
@JsonSerializable()
class Book {
String googleBookId;
List<Provider> providers;
Book(this.googleBookId,
{List<Provider> providers})
: providers = providers ?? <Provider>[];
factory Book.fromJson(Map<String, dynamic> map) => _$BookFromJson(map);
Map<String, dynamic> toJson() => _$BookToJson(this);
}
@JsonSerializable()
class Provider {
String providerId;
Provider(this.providerId);
factory Provider.fromJson(Map<String, dynamic> map) => _$ProviderFromJson(map);
Map<String, dynamic> toJson() => _$ProviderToJson(this);
}
反序列化时出现以下错误
_CastError(类型“_InternalLinkedHashMap”不是类型转换中“Map”类型的子类型)
我可以使用任何其他库来反序列化文档吗?
【问题讨论】:
标签: json flutter dart google-cloud-firestore json-serialization