【问题标题】:Unhandled Exception: type 'String' is not a subtype of type 'bool'未处理的异常:“String”类型不是“bool”类型的子类型
【发布时间】:2019-12-26 21:24:11
【问题描述】:

您好,我对 Flutter 有疑问。 我得到这个例外:

未处理的异常:“String”类型不是“bool”类型的子类型

我尝试从响应中检查令牌是否存在。

    var res = await ApiService().postData(loginData, 'login');
var body = json.decode(res.body);
if (json.decode(res.body)['token']) {
  SharedPreferences localStorage = await SharedPreferences.getInstance();
  localStorage.setString('token', body['token']);
  localStorage.setString('user', json.encode(body['user']));
  Navigator.push(
      context, new MaterialPageRoute(builder: (context) => UserHome()));
} else {
  print(body['message']);
}

【问题讨论】:

  • 你在哪一行得到这个错误?

标签: api flutter dart jwt


【解决方案1】:

改变这个条件

if (json.decode(res.body)['token'])

if (body['token']?.isNotEmpty == true)

【讨论】:

    【解决方案2】:

    你可能应该改变你的状况。

    if (json.decode(res.body)['token'] != null)
    

    因为我假设 token 不是 bool 类型。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-19
      • 2021-09-19
      • 2021-07-18
      • 2021-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多