所以我有一个@JsonSerializable类,可以正常工作。
@JsonSerializable()
class BaseValue {
String id;
var value;
DateTime valueDate;
BaseValue({
this.id,
this.value,
this.valueDate
});
factory BaseValue.fromJson(Map<String, dynamic> json) => _$BaseValueFromJson(json);
Map<String, dynamic> toJson() => _$BaseValueToJson(this);
}
不,我想为扩展的ListBase类启用相同的fromJson toJson,但找不到实现此方法的方法。
class BaseValues<BaseValue> extends ListBase<BaseValue> {
final List<BaseValue> l = [];
BaseValues();
void set length(newLength) => l.length = newLength;
int get length => l.length;
BaseValue operator [](int index) => l[index];
void operator []=(int index, BaseValue value) => l[index] = value;
}
也许我需要使用其他东西来代替ListBase。
在此先感谢您提供的帮助。
答案 0 :(得分:0)
有可能,但这并非易事。您需要创建自定义TypeHelper来支持您的课程。
然后,如果要使用pub run build_runner...
,则需要创建一个自定义构建器,该构建器实例化JsonSerializableGenerator的实例并包含TypeHelper
的实例。
这里有一个待处理的提交将为您提供更多的自由-https://github.com/dart-lang/json_serializable/commit/4f19d468bf05eed3e4a8ebc27244fc3b8d411dc9 –但是您仍然必须处理BaseValues
的可能的泛型类型args。