флаттер разбора JSON из базы - PullRequest
0 голосов
/ 11 апреля 2019

Я только начал изучать флаттер и пытался использовать ScopedModel, и я застрял при разборе JSON, все работает, пока я не пытаюсь получить Список детального моделирования, но все, что я пытаюсь, просто терпит неудачу

это мой классдля проекта и симуляции

 class Project {
  String idProject;
 List images;
 List<Simulations> simulation;     
  Project({
    @required this.idProject,
    @required this.images,
    @required this.simulation

});
}

class Simulations{
  String period;
  int profitProject;
  int roi;

  Simulations({
    @required this.period,
    @required this.profitProject,
    @required this.roi
});

}

Я создал отдельный класс для получения деталей для симуляции

Это пример из JSON, который я получил из базы данных

{
    "1554182068913": {

        "idProject": "project id 1",
        "images": [
            1554181958565,
            1554181955542,
            1554181960876],

        "simulation": [
                {
                "periode": "year 1",
                "profitProject": 300000,
                "roi": 5,
                "uniqueKey": "YyCWbHjvm"
                }, 

                {
                "periode": "year 1",
                "profitProject": 100000,
                "roi": 3,
                "uniqueKey": "CvyU4SjrX"
                }, 
                {
                "periode": "year 1",
                "profitProject": 2000000,
                "roi": 10,
                "uniqueKey": "Tb_Qr5CIA"
                }
        ],
        }
        }

Я сделал функцию для получения данных

Future<Null> fetchProjects() {
    return http.get("JSON link")
        .then<Null>((http.Response response) {
      final List<Project> fetchedProjectList = [];
      final Map<String, dynamic> projectListData = json.decode(response.body);

      if (projectListData == null) {
        _isLoading = false;
        notifyListeners();
        return;
      }

      projectListData.forEach((String projectId, dynamic projectData) {

        final Project project = Project(
          title: projectData['title'],
          location: projectData['location'],
          images: projectData['images'],
          simulation: ???


        );
        fetchedProjectList.add(project);
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...