在dart和dart中发出http请求:io

时间:2018-09-09 12:28:06

标签: dart dart-http

嘿,我是一个初学者,我想使用dart:io与API进行交互以获取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的Map,但是我做不到。如果我可以获取包含JSON的字符串,则可以使用 json.decode();

还知道答案存储在一个表示字符的utf8值的整数列表中,因此使用utf8.decode(responce.toList())我可以得到utf8值,但是responce.toList()返回一个Future,即使它可能是很简单,我不知道如何获取列表。

1 个答案:

答案 0 :(得分:0)

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);
}