Flutter反序列化列表的列表
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flutter反序列化列表的列表相关的知识,希望对你有一定的参考价值。
我的项目无法对列表的列表进行反序列化,而我找不到解决方案。我有三类:具有引用和值的记录,具有名称和记录列表的实验以及具有名称和实验列表的项目。我的代码如下所示。我有正确的from Json来进行记录和实验,但无法从正确的项目上获得Json的帮助。你能帮我吗 ?我对项目的toJson正确吗?非常感谢,感谢您的帮助。
class Project {
final String name;
final List<Experiment> experiments;
Project({this.name, this.experiments});
factory Project.fromJson(Map<String, dynamic> json) {
}
Map<String, dynamic> toJson() => {
'name': name,
'experiments': experiments,
};
}
class Experiment {
String name;
List<Record> records;
Experiment({this.name, this.records});
factory Experiment.fromJson(Map<String, dynamic> json) {
var list = json['records'] as List;
List<Record> imagesList = list.map((i) => Record.fromJson(i)).toList();
return Experiment(records: imagesList, name: json['name']);
}
Map<String, dynamic> toJson() => {
'name': name,
'records': records,
};
}
class Record {
final double time;
final double value;
Record({this.time, this.value});
factory Record.fromJson(Map<String, dynamic> json) {
return Record(time: json['time'], value: json['value']);
}
Map<String, dynamic> toJson() => {
'time': time,
'value': value,
};
}`
答案
我建议使用此库https://github.com/k-paxian/dart-json-mapper而不是手动对'from / to'JSON方法进行硬编码。
它将使您可以将复杂的JSON很好地映射到Dart类并使模型代码简洁明了。
以上是关于Flutter反序列化列表的列表的主要内容,如果未能解决你的问题,请参考以下文章
无法使用 Jackson XML 直接在根元素内反序列化列表