Closed philos3 closed 4 years ago
StorageManager.localStorage.setItem(kUser, user.toString()); to save as a String is OK
Converting object to an encodable object failed: Instance of 'ListMapView'
this suggests that your toJson()
implementation returned an entity which json.encode
isn't able to encode, so you need to pass a custom encoder. I recommend using json_serializable to generate toJson
/fromJson
methods
Converting object to an encodable object failed: Instance of 'ListMapView'
this suggests that yourtoJson()
implementation returned an entity whichjson.encode
isn't able to encode, so you need to pass a custom encoder. I recommend using json_serializable to generatetoJson
/fromJson
methods
It is any example code to pass a custom encoder. Can you point out where is the problem in my code, this code is similar to json_serializable
It is my problem,I had fixed this bug with this code,thanks for help.
uuids = (map["uuids"] == null || map["uuids"] == "") ? [] :(map["uuids"] as List).map( (item){ return UUIDData.fromJsonMap(item); }).toList();
DATA JSON
{"current_integral":"0","super_vip":"0","nick_name":"XXX","email":"XXXXXXX@qq.com","mobile":"XXXXXXX","id":"190","user_name":"XXXXXXX","sex":"1","birthday":1367856000000,"user_header":"/Uploads/header/2020-05-07/5eb3b3d3420e6.jpg","user_session":"190","type":2,"uuid":["CB:6A:47:75:D9:D9"],"uuids":[{"id":"18","name":"1.0","version":"Boot v1.0.0","bind":"1","user_id":"190","uuid":"CB:6A:47:75:D9:D9"}]}
Exception
Unhandled Exception: Converting object to an encodable object failed: Instance of 'ListMapView'
E/flutter (26935): # 0 _JsonStringifier.writeObject (dart:convert/json.dart:649:7)
E/flutter (26935): # 1 _JsonStringifier.writeMap (dart:convert/json.dart:730:7)
E/flutter (26935): # 2 _JsonStringifier.writeJsonValue (dart:convert/json.dart:685:21)
E/flutter (26935): # 3 _JsonStringifier.writeObject (dart:convert/json.dart:640:9)
E/flutter (26935): # 4 _JsonStringStringifier.printOn (dart:convert/json.dart:836:17)
E/flutter (26935): # 5 _JsonStringStringifier.stringify (dart:convert/json.dart:821:5)
E/flutter (26935): # 6 JsonEncoder.convert (dart:convert/json.dart:257:30)
E/flutter (26935): # 7 JsonCodec.encode (dart:convert/json.dart:168:45)
E/flutter (26935): # 8 LocalStorage.setItem (package:localstorage/localstorage.dart:79:14)
Example
StorageManager.localStorage.setItem(kUser, user.toJson());
class User {
String current_integral; //超级会员(0不是,1是) String super_vip; String nick_name=''; String email; String mobile; String id; String user_name; //性别【0女,1男】 String sex; int birthday; String user_header; String img_url; String user_session; int type=1;// List uuids;
List uuid = [];
// collectIds = map["collectIds"], current_integral = map["current_integral"], super_vip = map["super_vip"], nick_name = map["nick_name"], email = map["email"], mobile = map["mobile"], id = map["id"], user_name = map["user_name"], sex = map["sex"], birthday = map["birthday"], user_header = map["user_header"], img_url = map["img_url"], user_session = map["user_session"], type = map["type"], uuid = map["uuid"].cast(),
uuids = map["uuids"] == null || map["uuids"] == "" ?null :map["uuids"].cast();
// data['collectIds'] = collectIds; data['current_integral'] = current_integral; data['super_vip'] = super_vip; data['nick_name'] = nick_name; data['email'] = email; data['mobile'] = mobile; data['id'] = id; data['user_name'] = user_name; data['sex'] = sex; data['birthday'] = birthday; data['user_header'] = user_header; data['img_url'] = img_url; data['user_session'] = user_session; data['type'] = type; data['uuid'] = uuid.asMap(); data['uuids'] = uuids != null ? (uuids.map((items){ return items.toJson(); }) ):[]; return data; } }
class UUID {
String toString() { return "{'id': '$id','name': '$name', 'version': '$version', 'bind': '$bind', 'user_id': '$user_id', 'uuid': '$uuid'}"; } }