我的cloud_firestore看起来像这样:
all_images:{imageUrl:[]},couplePhoto:字符串,女性:String, image_url:字符串,信息:字符串,男性:字符串
我的模型班:
import 'package:json_annotation/json_annotation.dart';
part 'Model.g.dart';
@JsonSerializable()
class Photography {
final List<AllImages> all_images;
final String couplePhoto;
final String female;
final String image_url;
final String info;
final String male;
Photography(this.all_images, this.couplePhoto, this.female, this.image_url,
this.info, this.male);
factory Photography.fromJson(Map<String, dynamic> json) =>
_$PhotographyFromJson(json);
Map<String, dynamic> toJson() => _$PhotographyToJson(this);
}
@JsonSerializable()
class AllImages {
final List<String> imageUrl;
AllImages(this.imageUrl);
factory AllImages.fromJson(Map<String, dynamic> json) =>
_$AllImagesFromJson(json);
Map<String, dynamic> toJson() => _$AllImagesToJson(this);
}
当前,我还没有adminPanel来插入数据。所以,现在我需要读取数据。 运行此数据库时,错误将在此处出现。
Future<Photography> postsMap = Firestore.instance
.collection('photography')
.document("0yUc5QBGHNNq6WK9CyyF")
.setData(jsonDecode(jsonEncode(Photography)));
答案 0 :(得分:2)
在这一行:
.setData(jsonDecode(jsonEncode(Photography)));
您要引用Photograph类的Type对象,而是需要传递一个实例(因此,您需要使用所需的值调用构造函数,然后传递该结果)。
.setData(jsonDecode(jsonEncode(Photography(<pass-in-constructor-args-here>))));
答案 1 :(得分:0)
如果您正在使用 json_serialization 库,请小心。有时在您的情况下生成的方法“_$AllImagesToJson()”无法正常工作。看看里面。我知道 json_serialization 库在通用对象方面无法正常工作