我正在尝试从API调用中获取数据列表,并将该数据列表发送到我为此创建的本地sqlite数据库中。我遇到的数据类型为的问题,我不确定如何将其转换为可用的数据。我只是想将api调用中的数据分配给变量,所以我可以简单地将其发送到sqlite数据库。欢迎任何建议!谢谢!
这是我试图从API调用中获取数据并将其发送到sqlite数据库的代码。
if(user.success) {
Quarter quarters;
quarters = await getQuarters();
QuarterDBProvider.quarterDB.newQuarter(quarters);
}
这是执行API调用的地方
Map data;
List<Quarter> quarterFromJson(String str) =>
List<Quarter>.from(json.decode(str).map((x) => Quarter.fromJson(x)));
Future<List<Quarter>> getQuarters() async {
final http.Response response = await http.get(
'https://myfakeapi/quarters',
);
if (response.statusCode < 400) {
return quarterFromJson(response.body);
} else {
throw Exception('Failed to get quarters');
}
}
答案 0 :(得分:0)
api的响应是list,而不是String。
List<Quarter> _listQuarter= [];
var json = jsonDecode(response.body) as List<dynamic>;
json.forEach((element) {
_listQuarter.add( -do all your workaround- );
});
return _listQuarter;