Desafios Intermediários
- Consumo de APIs REST
- Objetivo: Consumir uma API pública que retorne dados em formato JSON e extrair informações específicas.
- Tarefas:
Utilize a biblioteca
requests
para fazer uma requisição GET a uma API (por exemplo, API de clima ou de informações financeiras).Analise a resposta JSON, extraia dados como temperatura, cidade, etc., e exiba-os de forma organizada.
Trate erros, como falhas na requisição ou dados inconsistentes.
Benefícios: Desenvolve habilidades de integração web e análise de dados, contribuindo para a compreensão de como sistemas se comunicam por meio do JSON.
- Conversão de CSV para JSON
Objetivo: Transformar dados de um arquivo CSV para um arquivo JSON estruturado.
Tarefas:
- Use a biblioteca
csv
oupandas
para ler os dados de um CSV. - Construa uma estrutura de dados (por exemplo, uma lista de dicionários) que represente esses dados.
- Exporte os dados para um arquivo JSON.
- Use a biblioteca
Benefícios: Combina diferentes fontes e formatos de dados e ensina a transformar e normalizar informações.
Desafios Avançados
Construindo uma API com Flask
Objetivo: Criar uma aplicação web simples que receba e responda em JSON.
Tarefas:
- Implemente um servidor Flask com ao menos um endpoint que receba dados via POST.
- Faça a validação dos dados recebidos e devolva uma resposta estruturada em JSON usando
jsonify()
. - Teste com ferramentas como o Postman ou cURL.
Benefícios: Integra conceitos de backend, manipulação de JSON e desenvolvimento de APIs, demonstrando a interação entre cliente e servidor.
Ferramenta de Configuração e Monitoramento
Objetivo: Desenvolver um script Python que utilize um arquivo JSON como base de configuração para alterar comportamentos do programa.
Tarefas:
- Crie um arquivo JSON de configuração com parâmetros (como modos de operação, taxas de atualização, etc.).
- Seu script deverá ler essas configurações e executar ações baseadas nelas.
- Ao final da execução ou periodicamente, o script poderá atualizar o JSON (por exemplo, registrando logs ou status).
Benefícios: Aprofunda o entendimento sobre a leitura, modificação e persistência de dados em JSON dentro de uma aplicação dinâmica.
Manipulação Complexa de Estruturas de Dados
Objetivo: Trabalhar com JSON aninhado e realizar buscas ou modificações em profundidade.
Tarefas:
- Utilize um JSON com múltiplos níveis de aninhamento, como um catálogo de produtos com categorias e subcategorias.
- Implemente funções que, dado um critério (por exemplo, o nome de um produto ou uma categoria), localizem e atualizem informações específicas.
Benefícios: Este exercício fortalece a compreensão de estruturas de dados complexas e o uso recursivo ou iterativo para navegar em objetos aninhados.