Я пытаюсь получить виджет таблицы данных, в котором ссылки на навыки и uri должны поступать из файла json. У меня есть data.dart для чтения из json

#flutter

Вопрос:

Файл Data.dart выглядит следующим образом, где я получаю сообщение об ошибке «Конструктор списка по умолчанию недоступен, когда включена защита от нуля. Попробуйте использовать литерал списка, «List.filled» или «List.generate «. «

 // ignore_for_file: unnecessary_new, deprecated_member_use, prefer_collection_literals

class Data {
  late String previous;
  late String next;
  late List<Results> results;

  Data.fromJson(Map<String, dynamic> json) {
    previous = json['previous'];
    next = json['next'];
    if (json['results'] != null) {
      results = new List<Results>(results);
      json['results'].forEach((v) {
        results.add(new Results.fromJson(v));
      });
    }
  }
}

class Results {
  String skills = " ";
  String test = "";

  Results.fromJson(Map<String, dynamic> json) {
    skills = json['skills'];
    test = json['test'];
  }
}
 

У меня также есть файл dataprovider, который выглядит следующим образом:

 import 'dart:convert';

import 'package:flutter/widgets.dart';
import 'package:table_widget_project1/data.dart';

class MyDataProvider extends ChangeNotifier {
  late Data d;

  Future getData(context) async {
    // You can call an API to get data, once we've the data from API or any other flow... Following part would always be the same.
    // We forgot about one more important part .. lets do that first

    // We need access to BuildContext for loading this string and it's not recommended to store this context in any variable here
    // in change notifier..
    var response = await DefaultAssetBundle.of(context)
        .loadString('./lib/data.json');
    // now we have response as String from local json or and API request...
    var mJson = json.decode(response);
    // now we have a json...
    d = Data.fromJson(mJson);
    notifyListeners(); // for callback to view
  }
}
 

Пример данных Json — это

 {
    "skills": [{
            "skills": "C#",
            "test": "//www.google.com/"
        },
        {
            "skills": ".Net Core",
            "test": "//www.google.com/"
        },
        {
            "skills": "ASP.Net",
            "test": "//www.google.com/"
        }
}

Everything from JSON should be printed in a data table widget with columns skills, months, selfscore, testscore, testlink and comments 
only the skill and test link is coming from JSON file. Month, selfscore and comments are ditable fields
 

Комментарии:

1. Покажите точную ошибку, пожалуйста (со стеком).

2. можете ли вы поделиться своими данными ответа?

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

4. проверьте api.flutter.dev/flutter/dart-core/List/List.html List конструктор принимает необязательный int параметр, not List , также обратите внимание, что он устарел в коде, защищенном от нуля

5. Я обновил весь вопрос. Кроме того, я нахожусь на начальном уровне, поэтому знания ограничены.