小编Nag*_*ual的帖子

冻结了如何在顶级模型上分配我自己的 JsonConverter ?

我冻结了模型(简化):

part 'initial_data_model.freezed.dart';
part 'initial_data_model.g.dart';

@freezed
class InitialDataModel with _$InitialDataModel {
  const factory InitialDataModel() = Data;

  const factory InitialDataModel.loading() = Loading;

  const factory InitialDataModel.error([String? message]) = Error;

  factory InitialDataModel.fromJson(Map<String, dynamic> json) => _$InitialDataModelFromJson(json);
}
Run Code Online (Sandbox Code Playgroud)

文档说明了如何在字段上分配自定义转换器,但不在模型本身上分配

我从后端和 api_provider 中的某个地方获取了 json 我确实
return InitialDataModel.fromJson(json);
无法控制 json 结构,没有“runtimeType”和其他愚蠢的冗余内容

当我想从 json 创建模型时,我打电话给fromJson

flutter: CheckedFromJsonException
Could not create `InitialDataModel`.
There is a problem with "runtimeType".
Invalid union type "null"!
Run Code Online (Sandbox Code Playgroud)

好吧,
我又有了api_provider

final apiProvider = Provider<_ApiProvider>((ref) => _ApiProvider(ref.read));

class _ApiProvider {
  final Reader …
Run Code Online (Sandbox Code Playgroud)

jsonserializer flutter jsonconvert freezed

3
推荐指数
1
解决办法
3025
查看次数

标签 统计

flutter ×1

freezed ×1

jsonconvert ×1

jsonserializer ×1