json_可序列化的泛型类
我有一门课是这样的:json_可序列化的泛型类,json,flutter,dart,Json,Flutter,Dart,我有一门课是这样的: @JsonSerializable(explicitToJson: true) class ApiResponse<T> { @_Converter() final T data; final ApiError error; ApiResponse({this.data, this.error}); factory ApiResponse.fromJson(Map<String, dynamic> json) =>
@JsonSerializable(explicitToJson: true)
class ApiResponse<T> {
@_Converter()
final T data;
final ApiError error;
ApiResponse({this.data, this.error});
factory ApiResponse.fromJson(Map<String, dynamic> json) =>
_$ApiResponseFromJson(json);
Map<String, dynamic> toJson() => _$ApiResponseToJson(this);
}
class _Converter<T> implements JsonConverter<T, Object> {
const _Converter();
@override
T fromJson(Object json) {
if (T == LoginResponse) {
return LoginResponse.fromJson(json) as T;
}
if (List<Company>() is T) {
List jsonList = json as List;
return jsonList.map((model) => Company.fromJson(model)).toList() as T;
}
if (T == Employee) {
return Employee.fromJson(json) as T;
}
if (T == Week) {
return Week.fromJson(json) as T;
}
throw UnimplementedError();
}
@override
Object toJson(T object) {
return object;
}
}
return json as T;
但据我所知,json唯一可能的是num、String、bool等,所以这是另一个解决方案