Сделайте запрос http в дартс с дартс: io - PullRequest
0 голосов
/ 09 сентября 2018

Эй, я новичок и хочу взаимодействовать с 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();

также знает, что ответ хранится в списке int, который представляет значения utf8 символов, поэтому с помощью utf8.decode(responce.toList()) я могу получить значение utf8, но responce.toList() возвращает Future, но даже если это может быть легко, я не не знаю, как получить список.

1 Ответ

0 голосов
/ 09 сентября 2018
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);
}
...