Flutter fromJson将抛出类型为';地图<;字符串,动态>';,但是得到了一个类型'_JsonDocumentSnapshot&x27;
我正在尝试使用Flutter fromJson将抛出类型为';地图<;字符串,动态>';,但是得到了一个类型'_JsonDocumentSnapshot&x27;,flutter,google-cloud-firestore,json-serialization,Flutter,Google Cloud Firestore,Json Serialization,我正在尝试使用json\u serializable:。 我的名字叫yaml dependencies: json_annotation: 3.1.1 dev_dependencies: build_runner: json_serializable: 3.5.1 我从Firestore流出的溪流 static Stream<DocumentSnapshot<Object>> getOrderById(String docId) { return
json\u serializable:
。
我的名字叫yaml
dependencies:
json_annotation: 3.1.1
dev_dependencies:
build_runner:
json_serializable: 3.5.1
我从Firestore流出的溪流
static Stream<DocumentSnapshot<Object>> getOrderById(String docId) {
return database().collection('orders').doc(docId).snapshots();
}
向我抛出所需的值类型为“Map”,但得到的值类型为“\u JsonDocumentSnapshot”
但当我添加另一个完全相同的工厂时,只是期望参数不同
省道
factory Order.fromJson(Map<String, dynamic> json) => _$OrderFromJson(json);
factory Order.fromSnapshot(DocumentSnapshot json) {
return Order(
common: json['common'] == null
? null
: OrderCommon.fromJson(json['common'] as Map<String, dynamic>),
// goes like this but EXACTLY same with order.g.dart OrderFromJson
它按预期工作。我怎么了?欢迎发表任何评论。我们应该让颤振知道
快照。数据
是一张地图
:
Order doc=Order.fromJson(snapshot.data作为映射);
已经尝试过了,但现在刚刚尝试过Order doc=Order.fromJson(snapshot.data作为映射)代码>════════ widgets库捕获到异常═══════════════════════════════════ 应为“Map”类型的值,但得到了“JsonDocumentSnapshot”类型的值。相关的错误导致小部件是StreamBuilder lib\screens\order\u detail\u screen。dart:169
Order doc = Order.fromJson(snapshot.data);
factory Order.fromSnapshot(DocumentSnapshot json) {
return Order(
common: json['common'] == null
? null
: OrderCommon.fromJson(json['common'] as Map<String, dynamic>),
// goes like this but EXACTLY same with order.g.dart OrderFromJson
Order doc = Order.fromSnapshot(snapshot.data);
Order doc = Order.fromJson(snapshot.data as Map<String, dynamic>);