json - 将 Json 转换为包含对象列表的对象时出错
问题描述
我从我已解码为 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}]}
我正在寻找的输出是有一个完整的对象,然后我的方法可以返回并使用它。但是,它会在此方法调用上中断。
解决方案
推荐阅读
- java - AlertDialog 在第二次通话时不显示
- android - 尝试使用图像裁剪器时出现大量错误
- elasticsearch - 使用 Hibernate 搜索的 Spring Boot - 未在 elasticsearch 上创建索引
- php - 加载数据文件,每行跳过 1 行
- sql - 从sql server中的表获取后如何格式化XML
- jquery - 我在 window7 中通过 Dropzone 上传文件时得到了不好的响应
- odata - 使用本地代理的 UI5 应用程序引发 URN 错误
- java - Alpine Linux - 找不到 javac
- php - 搜索超过 2 个值
- bots - 口袋妖怪进化包没有正确的链条