我从我已解码为 JSON 对象的 API 请求中得到响应。尝试将此 Json 对象转换为包含对象列表的类时,我遇到以下错误:
"Unhandled Exception: type '_InternalLinkedHashMap<String, dynamic>' is not a subtype of type 'List<dynamic>'".
我理解错误背后的含义,但无法找到解决方案。Dart 中关于这个特殊事物的资源相当有限。
我试过fromJson
几次重写我的方法,但一直遇到同样的错误。
下面是我的UserList类,我试图将 Json 对象转换为该类。
class UserList {
final List<UserObject> users;
UserList({
this.users,
});
addUser(UserObject user){
users.add(user);
}
factory UserList.fromJson(List<dynamic> parsedJson) {
List<UserObject> users = new List<UserObject>();
users = parsedJson.map((i)=>UserObject.fromJson(i)).toList();
return new UserList(
users: users
);
}
Map<String, dynamic> itemToJson() {
return <String, dynamic>{
'UserVal': this.users,
};
}
}
这就是我调用 fromJson 方法的地方:
UserList list = UserList.fromJson(userVal);
userVal等于以下内容:
{UserVal: [{UID: test, Email: test@gmail.com, Phone: 1110001111, Name: Test1}, {UID: test, Email: test@gmail.com, Phone: 1110001111, Name: Test2}, {UID: test, Email: test@gmail.com, Phone: 1110001111, Name: Test3}, {UID: test, Email: test, Phone: 1110001111, Name: test4}]}
我正在寻找的输出是有一个完整的对象,然后我的方法可以返回并使用它。但是,它会在此方法调用上中断。