1
resposta

09 Faça como eu fiz: tratando dados JSON e execução assíncrona

1.Converta a resposta da requisição em formato JSON.

import 'package:http/http.dart';
import 'dart:convert';

2.Extraia informações específicas de um objeto JSON.

  print(response);
  print(response.body);
  List<dynamic> listAccounts = json.decode(response.body);
  Map<String, dynamic> mapCarla = listAccounts.firstWhere(
    (eLement) => eLement["name"] == "Carla",
  );
  print (mapCarla["balance"]);
  },
 );

2) Implemente o uso de async e await

requestDataAsync() async {
 String url = 
  "https://gist.githubusercontent.com/Zilalb/c1d8a94b58803241d299a16b15149e33/raw/6f9ac72a6313bdf7d1515524028588718a8aff9a/accounts.json";
 Response response = await get(Uri.parse(url));
 print(json.decode(response.body)[0]);
 print("De fato, a última coisa a acontecer na função.");
};
void main() {
  
//requestData();
requestDataAsync();
}

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
1 resposta

Olá, Zilda, como vai?

Seu código atende bem ao que o exercício pede: você converte a resposta da requisição para JSON, extrai dados específicos (como o saldo da Carla) e utilizou async e await na função requestDataAsync, garantindo que a resposta HTTP seja obtida antes de acessar o body. Ficou um exemplo bem direto de como lidar com listas de objetos retornadas pela API.

Seu exercício está muito bem encaminhado, obrigado por compartilhar seu código e continuar praticando. Sempre que quiser, pode trazer mais exemplos, o fórum está à disposição para te ajudar nessa jornada.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!