В Флаттер У меня есть две модели. Мы можем позвонить Отцу и Сыну.
Модель Сына
class GraphData {
int timestamp;
double value;
bool error;
GraphData({
this.timestamp,
this.value,
this.error,
});
factory GraphData.fromJson(Map<String, dynamic> json) => new GraphData(
timestamp: json["x"],
value: json["y"],
error: json["error"],
);
}
И модель Отца
import 'graph_data_model.dart';
class Graph {
String name;
List<GraphData> data;
int type;
Graph({
this.name,
this.data,
this.type,
});
factory Graph.fromJson(Map<String, dynamic> json) => new Graph(
name: json["name"],
data: json['data'], //Error here
type: json["type"],
);
}
Я хочу импортировать модели "Сын в Отце". С этим кодом возвращается
_TypeError (тип 'List ' не является подтипом типа 'List ')
Итак: Какой правильный способ сделать это ?
РЕШЕНИЕ
Модель сына
import 'graph_data_model.dart';
class Graph {
String name;
List<GraphData> data;
int type;
Graph({
this.name,
this.data,
this.type,
});
factory Graph.fromJson(Map<String, dynamic> json) {
var list = json['data'] as List;
List<GraphData> data = list.map((i) => GraphData.fromJson(i)).toList();
return Graph(
name: json["name"],
data: data,
type: json["type"],
);
}
}