Flutter 如何用dart解码bellow类型的json
我想用Dart解码这个Json,但运行后会显示类似这样的错误Flutter 如何用dart解码bellow类型的json,flutter,dart,Flutter,Dart,我想用Dart解码这个Json,但运行后会显示类似这样的错误 (Unhandled Exception: FormatException: Unexpected character (at character 2) {username: ["The username has already been taken." ... ^ { "username": [ "The username has already been taken." ],
(Unhandled
Exception: FormatException: Unexpected character (at character 2)
{username: ["The username has already been taken." ...
^
{
"username": [
"The username has already been taken."
],
"email": [
"The email has already been taken."
],
"phone": [
"The phone has already been taken."
],
"error": [
"true"
]
}
下面我附上我的代码来解码JSON
var p = await createAccount(Url.Main_Url+'register');
var object=json.decode(p);
Future<String> createAccount(String url) async {
final response = await http.post(url, body: {
'username': Username,
'password': Password,
'name': Name,
'email': Email,
'phone': Phone,
'password_confirmation': Com_Password,
});
return json.decode(response.body).toString();
}
var p=await createAccount(Url.Main_Url+'register');
var object=json.decode(p);
未来CreateCount(字符串url)异步{
最终响应=等待http.post(url,正文:{
“用户名”:用户名,
“密码”:密码,
“名称”:名称,
“电子邮件”:电子邮件,
“电话”:电话,
“密码确认”:Com密码,
});
返回json.decode(response.body).toString();
}
我将感谢任何帮助。非常感谢。未来的CreateCount(字符串url)异步{
Future createAccount(String url) async {
final response = await http.post(url, body: {
'username': Username,
'password': Password,
'name': Name,
'email': Email,
'phone': Phone,
'password_confirmation': Com_Password,
});
return json.decode(response.body);}
var p = await createAccount(Url.Main_Url+'register');
Map<String, dynamic> jsonResponse = p;
if(jsonResponse.containsKey('error')) {
if (jsonResponse.containsKey('username')) {
Show_Snackbar(p['username'][0]);
}
else if (jsonResponse.containsKey('email')) {
Show_Snackbar(p['email'][0]);
}
else if (jsonResponse.containsKey('phone')) {
Show_Snackbar(p['phone'][0]);
}
}
最终响应=等待http.post(url,正文:{
“用户名”:用户名,
“密码”:密码,
“名称”:名称,
“电子邮件”:电子邮件,
“电话”:电话,
“密码确认”:Com密码,
});
返回json.decode(response.body);}
var p=await createAccount(Url.Main_Url+'register');
Map jsonResponse=p;
if(jsonResponse.containsKey('error')){
if(jsonResponse.containsKey('username')){
显示_Snackbar(p['username'][0]);
}
else if(jsonResponse.containsKey('email')){
显示Snackbar(p['email'][0]);
}
else if(jsonResponse.containsKey('phone')){
Show_Snackbar(p['phone'][0]);
}
}
当您编写“this json”时,您是指只有您和心灵感应者知道的json吗?这个错误实际上是在说,响应的json不是正确的json。用户名应该用引号括起来,但在错误消息中不是。您可以发布服务器输出的真实json数据吗?为什么不以文本形式给出此json代码的示例?我的意思是response.body
value。