首页 > 解决方案 > 如何编写解析此 JSON 的 Dart 模型类?

问题描述

我正在开发一个 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<动态,动态>'不是'Iterable'类型的子类型”

这是它在数据库中的结构: 在此处输入图像描述

标签: jsonflutterdartfirebase-realtime-database

解决方案


您可以在此https://app.quicktype.io/网络中将任何 json 数据转换为任何语言,请尝试 :)


推荐阅读