Я не понимаю, как получить данные из API в дартс - PullRequest
0 голосов
/ 27 марта 2020

Я хочу получить название видео и идентификатор видео из этого API https://invidio.us/api/v1/search?q=

в качестве примера, который вы ищете https://invidio.us/api/v1/search?q=tech+lead

и вы получите это json.

[
  {
    "type": "video",
    "title": "\"The Last Programmer\" (hacking the pandemic)",
    "videoId": "heXI1pgQhvY",
    "author": "TechLead",
    "authorId": "UC4xKdmAXFh4ACyhpiQ_3qBw",
    "authorUrl": "/channel/UC4xKdmAXFh4ACyhpiQ_3qBw",
    "videoThumbnails": [...],
    "description": "Ex-Google TechLead hacks into the viral pandemic.  Check out http://coderpro.com/ for 100+ coding interview videos explained ...",
    "descriptionHtml": "<div class=\"yt-lockup-description yt-ui-ellipsis yt-ui-ellipsis-2\" dir=\"ltr\">Ex-Google TechLead hacks into the viral pandemic.  Check out <a href=\"http://coderpro.com/\" target=\"_blank\" title=\"http://coderpro.com/\" rel=\"nofollow\" dir=\"ltr\" class=\"yt-uix-redirect-link\">http://coderpro.com/</a> for 100+ coding interview videos explained ...</div>",
    "viewCount": 58578,
    "published": 1585252516,
    "publishedText": "1 day ago",
    "lengthSeconds": 447,
    "liveNow": false,
    "paid": false,
    "premium": false
  },
{...},  //other videos.
{...},
...]

Моя цель - написать программу в dart / Flutter, которая будет принимать каждый заголовок видео и соответствующий ему videoId, а затем pu sh их список.

Я пытался найти в Интернете, как это сделать, и я наткнулся на https://flutter.dev/docs/cookbook/networking/fetch-data

Но это кажется слишком сложным для того, что я хочу сделать. Я хочу знать, существует ли намного более простой способ. Учитывая также, что мне нужны только первые 8 видео из поискового запроса.

1 Ответ

1 голос
/ 28 марта 2020

Я полагаю, вы говорите, что не хотите создавать класс, потому что он вам не нужен. Вы можете обойтись без его создания, хотя это может быть немного более подвержено ошибкам:

final result = await http.get('https://invidio.us/api/v1/search?q=tech+lead');
final data = json.decode(result.body);
data.forEach((e) {
  print(e['title']);
  print(e['videoId']);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...