Ошибка приложения флаттера Исключение. _TypeError (тип 'String' не является подтипом типа 'int' для 'index') - PullRequest
0 голосов
/ 26 апреля 2020

Я получаю эту ошибку исключения при попытке запуска во флаттере (возникла исключительная ситуация. _TypeError (тип 'String' не является подтипом типа 'int' для 'index') ошибка - строка serverToken = jsonDecode (data) [ "ключ"];

 void getFCMServerKey() async {
     final RemoteConfig remoteConfig = await RemoteConfig.instance;
    await remoteConfig.fetch(expiration: const Duration(hours: 5));
    await remoteConfig.activateFetched();
     var data = remoteConfig.getString('FcmServerKey');
     if (data != null) {
       serverToken = jsonDecode(data)["key"];
     }   }

Ответы [ 2 ]

0 голосов
/ 26 апреля 2020

Вы получили это ошибка, потому что, когда вы конвертируете свои json данные в класс Dart jsonDecode(data), вы получите List. Вероятно, вы предполагали получить Map и пытались получить доступ к элементу с параметром key и получили ошибку, потому что вы не можете получить доступ к элементам List со строковыми ключами, вы должны использовать индекс int. Прежде чем пытаться получить доступ к элементу, убедитесь, что ваши данные в нужном вам формате.

0 голосов
/ 26 апреля 2020

Я не знаю, почему вы пишете это ["key"]

Сделайте это вместо:

serverToken = jsonDecode(data);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...