![](/img/trans.png)
[英]Flutter getting error in model class which I create through json to dart plugin
[英]How do I write a Dart model class which parses this JSON?
我正在开发一个 dart/flutter 应用程序,我需要从 firebase 数据库解析 JSON。 除了无法解析以下 JSON 之外,我在代码中多次成功完成此操作。 有人可以帮忙吗?
这是我正在使用的 JSON 响应:
{favorites: {-MH1vwWPqXHSXkTe_MxC: [Green Bay Packers, Washington Football Team]}, firstname: Mark, email: mbilner@gmail.com, lastname: bilner, username: mbil}
这是我的模型类:
class userProf {
String email;
String firstname;
String lastname;
String username;
List<String> favorites;
userProf({this.email, this.firstname, this.lastname, this.username, this.favorites});
factory userProf.fromJson(Map<dynamic, dynamic> parsedJson) {
var favsFromJson = parsedJson['favorites'];
List<String> favsList = new List<String>.from(favsFromJson);
return userProf(
email: parsedJson['email'],
firstname: parsedJson['firstname'],
lastname: parsedJson['lastname'],
username: parsedJson['username'],
favorites: favsList
);
}
}
当前代码给了我以下错误:“未处理的异常:类型 '_InternalLinkedHashMap<dynamic, dynamic>' 不是类型 'Iterable' 的子类型”
我认为 List 'from' 方法需要一个 Iterable 值,但 'favorites' 值是 'Map'。
List<String> favsList = new List<String>.from(favsFromJson);
如果您只使用没有键的 Map 值,您可以像下面这样。
List<String> favsList = [];
favsFromJson.values((value) => favList += value);
您可以在此https://app.quicktype.io/ web 中转换任何语言的任何 json 数据,请尝试:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.