Flutter 自定义JsonConverter中fromJSON方法中的json=null;冻结具有多个构造函数的类”;
我有这门课Flutter 自定义JsonConverter中fromJSON方法中的json=null;冻结具有多个构造函数的类”;,flutter,dart,freezed,Flutter,Dart,Freezed,我有这门课 @freezed abstract class CartEntity with _$CartEntity { const factory CartEntity.empty(String status, String message) = _Empty; const factory CartEntity.notEmpty(int x) = _NotEmpty; factory CartEntity.fromJson(Map<String, dynamic>
@freezed
abstract class CartEntity with _$CartEntity {
const factory CartEntity.empty(String status, String message) = _Empty;
const factory CartEntity.notEmpty(int x) = _NotEmpty;
factory CartEntity.fromJson(Map<String, dynamic> json) =>
_$CartEntityFromJson(json);
}
CarentityConverter中的fromJson方法总是接收空json,那么我错在哪里?通过使用
final cartEntity = CartEntityConverter().fromJson({'x':'y'});
print(cartEntity);
而不是
final cartEntity = CartEntityWrapperData.fromJson({'x':'y'});
print(cartEntity);
在这一点上,文档有一个不足之处,我尝试了一些随机的东西来让它工作而不是创建另一个您直接使用的转换器类,您可以只在主类中添加
.fromJsonA
方法
它看起来像这样:
@冻结
带有$carentity的抽象类carentity{
常量工厂carentity.empty(字符串状态,字符串消息)=\u empty;
常量工厂carentity.notEmpty(intx)=\u notEmpty;
factory Carentity.fromJson(映射json)=>
_$CarentityFromJSON(json);
factory carentity.fromJsonA(映射json){
if(/*条件用于.empty构造函数*/){
返回_Empty.fromJson(json);
}else if(/*条件用于.notEmpty构造函数*/){
返回_NotEmpty.fromJson(json);
}否则{
抛出异常('无法确定从JSON映射的构造函数');
}
}
}
我想用这种方法试试。。谢谢
final cartEntity = CartEntityWrapperData.fromJson({'x':'y'});
print(cartEntity);
final cartEntity = CartEntityConverter().fromJson({'x':'y'});
print(cartEntity);
final cartEntity = CartEntityWrapperData.fromJson({'x':'y'});
print(cartEntity);