【发布时间】:2021-12-18 17:10:44
【问题描述】:
我有以下课程:
@JsonSerializable(explicitToJson: true)
class Section {
@JsonKey(name: '_id')
late String id;
late BaseInfo info;
@JsonKey(name: 'document_ids')
late List<String>? documentIds;
late List<String>? tags;
late List<Comment>? comments;
late List<UserBasedPermission>? permissions;
Section();
factory Section.fromJson(Map<String, dynamic> json) =>
_$SectionFromJson(json);
Map<String, dynamic> toJson() => _$SectionToJson(this);
}
现在,当我尝试调用 fromJson 时,我收到一条错误消息,提示应该是 Map<String, dynamic>,但找到了 _JsonMap。
我用来转换的代码如下:
String test = '{"_id":"610b8ce9faa3695a81b93e98","info":{"name":"Mathematik","description":"Alles was mit Mathe zu tun hat Hurz ein Reh. Ein Hirsch 222 3333 444 555","active":false,"created_date":1628146903325,"created_by":"admin","last_update":null,"last_update_by":null,"last_comment":null,"deletion_date":null,"deleted_by":null,"locked_by":null,"locked_date":null,"object_type":"SECTION","version":6,"api_version":1},"document_ids":[],"tags":["mathematik","mathe","wissenschaft"],"comments":[{"user":"","timestamp":1628579634126,"comment":"Das ist ein Kommentar"},{"user":"admin","timestamp":1628580529698,"comment":"Noch ein Kommentar"}],"permissions":{"read_write_users":null,"read_only_users":null,"excluded_users":null}}';
Map<String, dynamic> parsedJson = jsonDecode(test);
print("parsedJson type: ${parsedJson.runtimeType} / $parsedJson");
Section sec = Section.fromJson(parsedJson);
我就是不知道问题出在哪里。
【问题讨论】:
-
写
Section.fromJson(Map<String, dynamic>.from(parsedJson));时有什么变化吗? -
不,很遗憾,错误还是一样