Flutter 中的 NoSuchMethod 异常

NoSuchMethod Exception in Flutter

我正在尝试进行 get Api 调用并从列表中获取所有名称并填充到列表视图中。

下面是我的json结构的例子

{
    "code": 100,
    "msg": "Success",
    "data": {
        "groups": [
            {
                "name": "group aa",
                "email": "aaaaa@gmail.com",
                "zipcode": "34543",
                "buildName": "11",
                "platform": "Web",
                "createdDate": "2021-06-18 15:39:56",
                "updatedDate": "2021-06-18 15:39:56",
                "id": "c7f8e7f5-b17f-4083-be43-69a1c1ea852c"
            },
         ],
}

为此我已经创建了一个模型class

class Group {
  Group({
    this.name,
    this.email,
    this.zipcode,
    this.buildName,
    this.platform,
    this.createdDate,
    this.updatedDate,
    this.id,
  });

  String name;
  String email;
  String zipcode;
  String buildName;
  String platform;
  DateTime createdDate;
  DateTime updatedDate;
  String id;

  factory Group.fromJson(Map<String, dynamic> json) => Group(
        name: json["name"],
        email: json["email"],
        zipcode: json["zipcode"],
        buildName: json["buildName"],
        platform: json["platform"],
        createdDate: DateTime.parse(json["createdDate"]),
        updatedDate: DateTime.parse(json["updatedDate"]),
        id: json["id"],
      );

  Map<String, dynamic> toJson() => {
        "name": name,
        "email": email,
        "zipcode": zipcode,
        "buildName": buildName,
        "platform": platform,
        "createdDate": createdDate.toIso8601String(),
        "updatedDate": updatedDate.toIso8601String(),
        "id": id,
      };

问题是,我正在进行 get 调用并从 groups 数组中过滤数据,只是获取名称,但出现如下异常

NoSuchMethodError: The method 'forEach' was called on null.

下面是Api代码,在api调用中也有响应。签入邮递员

void getUserGroups() async {
    http.Response response = await http.get(Uri.parse(
        'Api Url'));
    final Map<String, dynamic> responseData = json.decode(response.body);
    responseData['groups'].forEach((groupDetails) {
      final Group groups = Group(name: groupDetails['name']);
      setState(() {
        items.add(groups);
      });
    });
  }

不确定哪里出了问题,它说 forEach 有问题。但无法理解问题

你调用了 responseData['groups'],但是看看你的 json,它包含 data 上面的对象 groups。致电 responseData['data']['groups']