我有一个“ SnapShot”类,其中包含一些成员变量,例如DateTime和double。我是这样写fromJson / toJson的:
class SnapShot {
SnapShot (this.date, this.value);
final DateTime date;
final double value;
SnapShot.fromJson(Map<String, dynamic> json)
: date = DateTime.parse(json['date']),
value = json['value']();
Map<String, dynamic> toJson() =>
{
'date': date.toString(),
'value': value
};
}
我需要将这些对象的列表(列表)与json文件反序列化。 正确的方法是什么?
答案 0 :(得分:0)
这应该可以解决问题:
import 'dart:convert';
class SnapShot {
SnapShot(this.date, this.value);
final DateTime date;
final double value;
SnapShot.fromJson(Map<String, dynamic> json)
: date = DateTime.parse(json['date']),
value = json['value'];
Map<String, dynamic> toJson() => {'date': date.toString(), 'value': value};
@override
String toString() => 'date: $date, value: $value';
}
void main() {
final list = [SnapShot(DateTime.now(), 0.4), SnapShot(DateTime.now(), 1.5)];
final asJson = json.encode(list);
final decodedJson = json.decode(asJson) as List;
final snapShots = decodedJson.map((map) => SnapShot.fromJson(map)).toList();
print(snapShots);
}