Необработанное исключение: преобразование объекта в кодируемый объект не выполнено: фотография - PullRequest
1 голос
/ 24 июня 2019

мой cloud_firestore выглядит так:

all_images: {imageUrl: []}, параФотография: Строка, женщина: Строка, image_url: String, информация: String, мужчина: String

мой класс модели:

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

В настоящее время у меня нет панели администратора для вставки данных. Итак, теперь мне нужно прочитать данные. При запуске этой базы данных здесь появляется ошибка.

    Future<Photography> postsMap = Firestore.instance
        .collection('photography')
        .document("0yUc5QBGHNNq6WK9CyyF")
        .setData(jsonDecode(jsonEncode(Photography)));

1 Ответ

2 голосов
/ 27 июня 2019

В этой строке:

.setData(jsonDecode(jsonEncode(Photography)));

Вы ссылаетесь на объект Type для класса Photograph, вместо этого вам нужно передать экземпляр (так что вам нужно будет вызвать конструктор с необходимыми значениями и передатьрезультат этого).

.setData(jsonDecode(jsonEncode(Photography(<pass-in-constructor-args-here>))));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...