在 dart 中发出 http 请求 dart:io
Make a http request in dart whith dart:io
嘿,我是初学者,我想与 API 和 dart:io 交互以获取 JSON 文件我可以使用以下代码获取数据:
final HttpClient client = HttpClient();
client.getUrl(Uri.parse("https://api.themoviedb.org/3/movie/76341?api_key=fbe54362add6e62e0e959f0e7662d64e&language=fr"))
.then((HttpClientRequest request) {
return request.close();
})
.then((HttpClientResponse response) {
Map a;
print(a);
但我想要一张带有 JSON 的地图,但我做不到。如果我能得到一个包含 JSON 的字符串,我可以用
json.decode();
也知道答案存储在一个表示字符的 utf8 值的 int 列表中,因此使用 utf8.decode(responce.toList())
我可以获得 utf8 值,但是 responce.toList()
return 一个 Future但即使它可能很容易,我也不知道如何获得列表。
import 'dart:convert';
import 'dart:io';
void main() async {
final client = HttpClient();
final request = await client.getUrl(Uri.parse(
'https://api.themoviedb.org/3/movie/76341?api_key=fbe54362add6e62e0e959f0e7662d64e&language=fr'));
final response = await request.close();
final contentAsString = await utf8.decodeStream(response);
final map = json.decode(contentAsString);
print(map);
}
嘿,我是初学者,我想与 API 和 dart:io 交互以获取 JSON 文件我可以使用以下代码获取数据:
final HttpClient client = HttpClient();
client.getUrl(Uri.parse("https://api.themoviedb.org/3/movie/76341?api_key=fbe54362add6e62e0e959f0e7662d64e&language=fr"))
.then((HttpClientRequest request) {
return request.close();
})
.then((HttpClientResponse response) {
Map a;
print(a);
但我想要一张带有 JSON 的地图,但我做不到。如果我能得到一个包含 JSON 的字符串,我可以用
json.decode();
也知道答案存储在一个表示字符的 utf8 值的 int 列表中,因此使用 utf8.decode(responce.toList())
我可以获得 utf8 值,但是 responce.toList()
return 一个 Future但即使它可能很容易,我也不知道如何获得列表。
import 'dart:convert';
import 'dart:io';
void main() async {
final client = HttpClient();
final request = await client.getUrl(Uri.parse(
'https://api.themoviedb.org/3/movie/76341?api_key=fbe54362add6e62e0e959f0e7662d64e&language=fr'));
final response = await request.close();
final contentAsString = await utf8.decodeStream(response);
final map = json.decode(contentAsString);
print(map);
}