Я хочу получить собрания из Firestore и отобразить их в следующую Meeting
модель:
part 'meeting.g.dart';
@JsonSerializable(explicitToJson: true)
class Meeting {
String id;
DateTime date;
Meeting(this.id, this.date);
factory Meeting.fromJson(Map<String, dynamic> json) {
return _$MeetingFromJson(json);
}
Map<String, dynamic> toJson() => _$MeetingToJson(this);
}
Документы извлекаются из Firestore, а затем fromJson
вызывается для повторяемого, но исключение брошено:
type 'Timestamp' is not a subtype of type 'String' in type cast
Когда я go в сгенерированный meeting.g.dart
, именно эта строка вызывает ошибку
json['date'] == null ? null : DateTime.parse(json['date'] as String)
Чтобы обойти проблему, я попытался изменить с DateTime to Timestamp в модели, но затем отображается следующая ошибка сборки:
Error running JsonSerializableGenerator
Could not generate `fromJson` code for `date`.
None of the provided `TypeHelper` instances support the defined type.
Не могли бы вы рассказать мне, как решить эту проблему? Есть ли другой предпочтительный способ объединить Firebase и проект Flutter, используя json_serializable для сериализации JSON? Может быть, даже заменить использование json_serializable?