我正在Flutter中执行登录功能。我要使用警报消息中显示的错误消息。现在我收到此错误:
E/flutter ( 2690): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: FormatException: Unexpected character (at character 1)
E/flutter ( 2690): User does not exist
E/flutter ( 2690): ^
这是我的代码:
Future login(String url, {Map body}) async {
return http.post(url, body: body).then((http.Response response) {
print(response.body);
if(json.decode(response.body) == "User does not exist") {
print("wrong email");
}
});
}
有人知道如何解决此错误吗?
答案 0 :(得分:0)
尝试使用:
Future login(String url, {Map body}) async {
var response = await http.post(url, body: body)
if(json.decode(response.body) == "User does not exist") {
print("wrong email");
// return something here :)
} else{
return json.decode(response.body);
}
}
答案 1 :(得分:0)
字符串User does not exist
是无效的JSON。这就是错误消息告诉您的内容。
要成为有效的JSON,它必须包含引号。
有两种选择:
更改服务器以将响应编码为JSON。
请勿尝试将响应解码为JSON。
只需使用:
if(response.body == "User does not exist")