NoSuchMethodError: метод '[]' был вызван на null. Попытка вызова: [] (a)

Я пытаюсь создать приложение викторины во флаттере, используя файл JSON, поэтому сначала я хочу загрузить вопрос в этот виджет, а затем вызвать виджет страницы викторины. ЭТОТ КОД РАБОТАЕТ БОЛЬШУЮ ВРЕМЯ ОТЛИЧНО, НО ИНОГДА ОШИБКА ВЫДАВАЛАСЬ НЕ ВСЕ ВРЕМЯ Пример кода:

@override
Widget build(BuildContext context) {
// TODO: implement build
// this function is called before the build so that
// the string assettoload is avialable to the DefaultAssetBuilder
setasset();
// and now we return the FutureBuilder to load and decode JSON
return FutureBuilder(
  future: DefaultAssetBundle.of(context).loadString(assettoload, cache: true),
  builder: (context , snapshot){
    List mydata = json.decode( snapshot.data.toString());
    if(mydata==null){
      return Scaffold(
          body: Center(
          child: Text(
          "Loading",
           ),
         ),
      );
    }
    else{
      return  quizpage(mydata: mydata);//this line giving me the error
    }
  }
);   

person Jhon Rajbongshi    schedule 04.05.2020    source источник
comment
Какую ошибку вы получаете сейчас   -  person Ravindra Kushwaha    schedule 04.05.2020
comment
Можете ли вы добавить значение mydata в else, а также добавить страницу викторины?   -  person Viren V Varasadiya    schedule 04.05.2020
comment
NoSuchMethodError: метод '[]' был вызван с нулевым значением. Получатель: null Пробный вызов: [] (a) @RavindraKushwaha   -  person Jhon Rajbongshi    schedule 04.05.2020
comment
В основном мои данные представляют собой файл JSON, в котором есть вопросы и ответы. [{1: Что будет на выходе следующего кода? \ Na = \ p \ * 3 \ nprint (a),}, {1: {a: pp, b: ppp, c: 3p, d: p3} }, {1: ppp,}]   -  person Jhon Rajbongshi    schedule 04.05.2020


Ответы (1)


List mydata = new List();
 mydata = json.decode( snapshot.data.toString());

Используйте это и сейчас проверьте, теперь он будет работать

person Tasnuva oshin    schedule 27.01.2021