未处理的异常:类型 'List<dynamic>' 不是类型 'List<String>' 的子类型
Unhandled Exception: type 'List<dynamic>' is not a subtype of type 'List<String>'
我正在努力了解如何在 Flutter 中解决这些类型错误。
我正在向服务器发出 HTTP 请求,服务器响应如下 JSON:
{
"message": "The given data was invalid.",
"errors": {
"email": ["Email is required"]
}
}
我正在从响应中分配数据,如下所示:
Future login(String email, String password) async {
...
Map<String, dynamic> data = json.decode(response.body);
final List<String> emailErrors = data['errors']['email'];
final List<String> passwordErrors = data['errors']['password'];
}
一旦我尝试这样做,我就会收到以下错误:
Unhandled Exception: type 'List' is not a subtype of type 'List'
似乎使用类型 dynamic
如果您之后尝试为任何类型设置类型注释,它几乎会抛出错误。如何解决?
你得到这个错误是因为 data['errors']['email']
returns a List<dynamic>
.
你必须像那样将物品投射到 String
:
final List<String> emailErrors = data['errors']['email'].cast<String>()
我正在努力了解如何在 Flutter 中解决这些类型错误。
我正在向服务器发出 HTTP 请求,服务器响应如下 JSON:
{
"message": "The given data was invalid.",
"errors": {
"email": ["Email is required"]
}
}
我正在从响应中分配数据,如下所示:
Future login(String email, String password) async {
...
Map<String, dynamic> data = json.decode(response.body);
final List<String> emailErrors = data['errors']['email'];
final List<String> passwordErrors = data['errors']['password'];
}
一旦我尝试这样做,我就会收到以下错误:
Unhandled Exception: type 'List' is not a subtype of type 'List'
似乎使用类型 dynamic
如果您之后尝试为任何类型设置类型注释,它几乎会抛出错误。如何解决?
你得到这个错误是因为 data['errors']['email']
returns a List<dynamic>
.
你必须像那样将物品投射到 String
:
final List<String> emailErrors = data['errors']['email'].cast<String>()