【问题标题】:The argument type 'Map<dynamic, dynamic>' can't be assigned to the parameter type 'Map<String, dynamic>' after updating the version of the SDK更新SDK版本后,参数类型'Map<dynamic, dynamic>'不能赋值给参数类型'Map<String, dynamic>'
【发布时间】:2021-08-25 08:37:45
【问题描述】:

我有这个错误,更新SDK版本后(从29到31),我无法修复它,我会感谢你的帮助。这是代码的一部分。 “_userDetails.add(UserDetails.fromJson(user));”

    final responseJson = json.decode(responseBody);
    print(url);
    setState(() {
      for (Map user in responseJson) {
        _userDetails.add(UserDetails.fromJson(user));
      }
    });

我的班级

class UserDetails {

  final String  name, seal_number,sealed,date,userSL;



  UserDetails({required this.name,required this.sealed,required this.seal_number,required this.date,required this.userSL});

  factory UserDetails.fromJson(Map<String, dynamic> json) {
    return new UserDetails(
      sealed: json['sealed'],
      name: json['name'],
      seal_number: json['seal_number'],
      date: json['date'],
      userSL: json['user'],

    );
  }
}

【问题讨论】:

    标签: flutter dart


    【解决方案1】:

    试试这个

    _userDetails = responseJson.map((user)=>UserDetails.fromJson(user)).toList();
    

    【讨论】:

      【解决方案2】:

      尝试将用户从 Map 更改为 Map&lt;String,dynamic&gt;

      【讨论】:

        猜你喜欢
        • 2021-08-29
        • 2021-10-02
        • 2020-12-15
        • 2021-07-06
        • 2021-03-23
        • 2022-11-27
        • 2022-11-22
        • 2020-12-27
        相关资源
        最近更新 更多