csv - Http请求未完成
问题描述
我正在尝试从互联网上的 csv 文件中获取数据: https ://covid.ourworldindata.org/data/owid-covid-data.csv
如果您单击它,您可能已经注意到它会自动下载,我认为这是问题所在。
当我在 dart 中使用http 库来获取这些数据时,我一开始只取回了一小部分。response.statusCode
仍然等于,其他200
一切都按预期工作。
我认为自动下载是问题的一部分,但我不知道如何解决
这是代码:
import 'package:http/http.dart' as http;
...
main(){
String url = 'https://covid.ourworldindata.org/data/owid-covid-data.csv';
http.Response response = await http.get(url);
print(response.body);
}
解决方案
下面是一个json格式的例子:
Future<Response> fetchData() async
{
return await http.get("https://covid.ourworldindata.org/data/owid-covid-data.json");
}
然后在build()
方法内部:
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: Center(
child: FutureBuilder(
future: fetchData(),
builder: (context, AsyncSnapshot<Response> snapshot) {
if (snapshot.hasData) {
Map<String, dynamic> map =
Map.from(jsonDecode(snapshot.data.body));
return Text(map["LBN"]["continent"]);
} else if (snapshot.hasError) {
return Text("${snapshot.error}");
}
// By default, show a loading spinner.
return CircularProgressIndicator();
},
), // This trailing comma makes auto-formatting nicer for build methods.
));
}
推荐阅读
- android - 如何将字符串数组返回到java JNI
- ios - 如何从 Date (2018-09-28 09:42:00 +0000 ) 中提取日期、月份和年份 (dd-MM-yyyy) 而没有日期格式的时间 - iOS swift?
- symfony - Symfony 4 - 登录后重定向用户没有活动
- python - numpy蒙面参差不齐的数组
- javascript - 组件道具在浅层渲染中未更新
- windows - Ngrok windows 自动启动
- sockets - 使用 CG-NAT 的两个设备之间的直接客户端-服务器连接
- react-native - 反应选择器下方的本机按钮
- c# - 具有惰性源/数据流的 TPL 数据流
- android - 顶部有 WMS 图层的地图(在线和离线) - Android