我有json对象寄存器,我的用户和令牌不正确。因此,在make寄存器中,我需要保存令牌和id ..我可以保存该令牌,但id不能,这表明我出错了
'_ InternalLinkedHashMap'不是类型的子类型 '字符串'
因此,我需要在保存该ID后访问该用户 …我该怎么办
这是我的json
{
"success": true,
"user": {
"name": "ahmed",
"phone": "203025628",
"password": "$2y$10$ksxsdQvsnwkgiAa2iBy8yumlMLC.gEfeKlBIIpNhGIGgX0.MoWyfO",
"updated_at": "2020-03-18 18:01:09",
"created_at": "2020-03-18 18:01:09",
"id": 562
},
"token": "Example token ………. "
}
功能保存和功能寄存器API
_save(String token) async {
final prefs = await SharedPreferences.getInstance();
final key = 'user';
final value = user;
prefs.setString(key, value);
}
regsiterdata(body) async {
String url ='register';
String fullURL = Serveurl+url;
final response = await http.post(fullURL,body:body,
headers: {
'Accept':'application/json'
},
);
status = response.body.contains('error');
var data = json.decode(response.body);
if (status) {
print('data: ${data[response.statusCode]}');
print('data: ${data["error"]}');
} else {
_save(data["user"]);
}
答案 0 :(得分:0)
您尝试在需要使用Map
的地方使用String
。您应该告诉我们此异常指向的行。在那里,使用以下代码将地图转换为字符串:
final value = jsonEncode(user);
https://api.flutter.dev/flutter/dart-convert/jsonEncode.html