如何编写一个Dart模型类来解析这个JSON?

如何编写一个Dart模型类来解析这个JSON?,json,flutter,dart,firebase-realtime-database,Json,Flutter,Dart,Firebase Realtime Database,我正在开发一个dart/Flatter应用程序,需要从firebase数据库解析JSON。我已经在我的代码中多次成功地实现了这一点,但我无法解析以下JSON。有人能帮忙吗 下面是我正在处理的JSON响应: {favorites: {-MH1vwWPqXHSXkTe_MxC: [Green Bay Packers, Washington Football Team]}, firstname: Mark, email: mbilner@gmail.com, lastname: bilner, use

我正在开发一个dart/Flatter应用程序,需要从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
    );
  }
}
类userProf{ 字符串电子邮件; 字符串名; 字符串lastname; 字符串用户名; 列出收藏夹; userProf({this.email,this.firstname,this.lastname,this.username,this.favorites}); factory userProf.fromJson(Map parsedJson){ var favsFromJson=parsedJson['favorites']; List favsList=new List.from(favsFromJson); 返回userProf( 电子邮件:parsedJson['email'], firstname:parsedJson['firstname'], lastname:parsedJson['lastname'], 用户名:parsedJson['username'], 收藏夹:favsList ); } } 当前代码显示以下错误: “未处理的异常:类型'\u InternalLinkedHashMap'不是'Iterable'类型的子类型”

以下是数据库中的结构:

我认为List'from'方法需要一个Iterable值,但'favorites'值是'Map'

List<String> favsList = new List<String>.from(favsFromJson);
List favsList=new List.from(favsFromJson);
如果只使用贴图值而不使用键,则可以如下所示

List<String> favsList = [];
favsFromJson.values((value) => favList += value);
List favsList=[];
favsFromJson.values((value)=>favList+=value);

您可以将任何json数据转换为此web中的任何语言。请尝试:)

这甚至不是有效的json,不是吗?@OldProgrammer他们显示的“json”输出可能是在他们解码后显示的,然后打印解码器返回的地图。请参见我的回答:-我对该类进行了一个小的编辑,但这很有效。谢谢