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>);