![](/img/trans.png)
[英]flutter: type '_InternalLinkedHashMap<Object?, Object?>' is not a subtype of type 'Map<String, dynamic>'
[英]flutter realtime database 'InternalLinkedHashMap<Object?, Object?>' this error
我收到這個錯誤。 我非常生氣。
Stream<List<TestModel>> awayStream() async* {
List<TestModel> retVal = <TestModel>[];
_categoryCollectionReferance.once().then((DataSnapshot dataSnapshot) {
print(dataSnapshot.value);
retVal.add(TestModel.fromJson(dataSnapshot.value));
return retVal;
});}
錯誤: [ERROR:flutter/lib/ui/ui_dart_state.cc(199)] Unhandled Exception: type '_InternalLinkedHashMap<Object?, Object?>' is not a subtype of type 'Map<String, dynamic>'
print(dataSnapshot.value); -- this perfectly working.
但我不能添加到列表中。 這是我的模型代碼;
TestModel.fromSnapshot(DataSnapshot dataSnapshot) {
awayCurrentUser = dataSnapshot.value['awayCurrentUser'] ?? 0;
awayDate = dataSnapshot.value['awayDate'] ?? 0;
awayID = dataSnapshot.value['awayID'] ?? '';
awayMaxUser = dataSnapshot.value['awayMaxUser'] ?? 0;
awayPhotoUrl = dataSnapshot.value['awayPhotoUrl'] ?? '';
awayPrice = dataSnapshot.value['awayPrice'] ?? 0;
awayTitle = dataSnapshot.value['awayTitle'] ?? '';
awayUserPrice = dataSnapshot.value['awayUserPrice'] ?? 0;
awayWinner = dataSnapshot.value['awayWinner'] ?? '';
awayWinnerName = dataSnapshot.value['awayWinnerName'] ?? '';
isEnabled = dataSnapshot.value['isEnabled'] ?? true;
isFinished = dataSnapshot.value['isFinished'] ?? false;
isStatus = dataSnapshot.value['isStatus'] ?? true;
}
這是因為 datasnapShot 不是 'Map<String, dynamic>' 類型或其子類型在訪問內部對象之前對其進行解碼
像這樣嘗試
dataSnapshotDecoded=json.decode(dataSnapshot.value);
retVal.add(TestModel.fromJson(dataSnapshotDecoded))
我有同樣的問題,在其他答案中看到的json.decode()
或jsonDecode()
或json.decode(json.encode())
方法沒有幫助我,這就是我解決它的方法:
final value = Map<String, dynamic>.from(event.snapshot.value! as Map<Object?, Object?>);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.