所以我有一个@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。
提前感谢您提供的任何帮助。
这是可能的,但这并不容易。您需要创建一个自定义TypeHelper来支持您的课程。
然后,如果你想使用pub run build_runner...
,你需要创建一个自定义构建器来实例化JsonSerializableGenerator的实例并包含你的TypeHelper
实例。
有一个挂起的提交将在这里给你一些更多的自由 - https://github.com/dart-lang/json_serializable/commit/4f19d468bf05eed3e4a8ebc27244fc3b8d411dc9 - 但你仍然需要处理BaseValues
可能的泛型类型args。