Pular para o conteúdo principal

JSON e Python: Tudo o Que Você Precisa Saber para Manipular Dados

O Python possui funções embutidas (built in functions) para trabalhar com formato JSON, aqui um exemplo de como realizar uma requisição para uma API e trabalhar com o retorno em JSON. Esse código faz uma chamada à PokeApi e realiza a consulta do pokemon Pikachu. Caso a requisição retorne sucesso, o JSON é mostrado na tela.

Para rodar esse código é necessário instalar o módulo "request", com o comando "pip install request".

        
    	
import requests  
import json  

url = " https://pokeapi.co/api/v2/pokemon/pikachu/"
response = requests.get(url)  

if response.status_code == 200:  
	data = response.json()  
	print(json.dumps(data, indent=2))
else:  
	print(f"Error: {response.status_code}")
        
	

Trabalhando com dados aninhados

No exemplo acima realizamos uma requisição para a PokeApi. O conteúdo da resposta está em um formato JSON aninhado, ou seja possui itens dentro de outros itens. O Python é capaz de trabalhar com arquivos deste tipo. Para entender o conceito vamos realizar a leitura do JSON abaixo como exemplo.

    	            
{
	"pessoa": {
		"nome": "Aarav",
		"idade": 14,
		"endereco": {
			"cidade": "Delhi"
		}
	}
} 
      	
    

O arquivo JSON representa uma pessoa que possui as características nome, idade e endereço, dentro da propriedade endereço temos a propriedade cidade. Observe que esse arquivo está aninhado, com categorias dentro de outras categorias (cidade dentro de endereço). Para acessar a propriedade "cidade", utilizamos o seguinte código.

    	
    	
import json  

json_data = json_data = r'{"pessoa": {"nome": "Aarav", "idade": 14, 	"endereco": {"cidade": "Delhi"}}}'  

data = json.loads(json_data)  

cidade = data["pessoa"]["endereco"]["cidade"]  

print(cidade)
    	
    

Criando um JSON com Python

Com o Python é possível criar um JSON a partir de um dicionário. Para converter um dicionário em JSON, utilize o seguinte código.

    	            
import json

avaliacoes_de_comida = {"macarrao": 9, "arroz_e_feijao": 10}
print(json.dumps(avaliacoes_de_comida))
    	
    

Explicando o trecho de código, criamos um dicionário chamado “avaliacoes_de_comida”, utilizando a função "json.dumps", criamos um texto no formato JSON, depois imprimimos na tela.

Escrevendo arquivo JSON com o Python

Para escrever um arquivo JSON com o Python, primeiro crie um dicionário, então utilize o seguinte código.

    	            
import json
dog_data = {
	"name": "Frida",
	"is_dog": True,
	"hobbies": ["eating", "sleeping", "barking",],
	"age": 9,
	"address": {
		"work": None,
		"home": ("Campinas", "Brasil",),
	},
	"friends": [
		{
			"name": "Tor",
			"hobbies": ["eating", "sleeping", "reading",],
		},
		{
			"name": "Petti",
			"hobbies": ["running", "snacking",],
		},
	],
}

with open("frida.json", mode="w", encoding="utf-8") as write_file:
	json.dump(dog_data, write_file)
     	
	

Lendo um arquivo JSON com o Python

Agora, vamos realizar a leitura do arquivo JSON que acabamos de salvar. Para isso, utilizaremos Python e a função "open". O código a seguir demonstra como realizar a leitura de um arquivo JSON.

	
    	            
import json
with open("frida.json", mode="r", encoding="utf-8") as read_file:
	frida_data = json.load(read_file)

type(frida_data) # Dicionário
            
print(frida_data["name"])
        
    

Conclusão

Trabalhar com dados no formato JSON é uma tarefa essencial, pois ele é o padrão mais utilizado para o envio de dados pela internet (apesar de haver outros formatos, como o XML). Para quem fala inglês e gostaria de se aprofundar nesse tema, recomendo acessar o artigo que serviu de inspiração para este, disponível em: https://realpython.com/python-json/, do autor Philipp Acsany. Fico à disposição para quaisquer dúvidas.

Comentários

Postagens mais visitadas deste blog

Gerenciando Dependências no Python com requirements.txt

O que é o Pip? O Pip  (Package Installer for Python) é o gerenciador de pacotes do Python. Ele permite instalar, atualizar e remover bibliotecas e dependências de forma prática, garantindo que seu ambiente esteja sempre configurado corretamente. Como gerar um arquivo requirements.txt? Quando trabalhamos em projetos Python, muitas vezes precisamos garantir que todas as dependências necessárias estejam instaladas. Para facilitar essa gestão, podemos gerar um arquivo requirements.txt que contém a lista de pacotes e versões utilizadas no ambiente. Para gerar esse arquivo, execute o seguinte comando no terminal: pip freeze > requirements.txt Esse comando captura todas as bibliotecas instaladas no ambiente e as salva no arquivo requirements.txt . Geralmente trabalhamos com um ambiente virtual, o que é uma boa prática. Como instalar dependências a partir do requirements.txt? Se você precisa configurar um novo ambiente ou compar...

Aprenda Pandas utilizando exemplos de SQL e vice e versa (select, insert, update e delete)

O que é o Pandas? O Pandas é uma biblioteca open source do Python, criada para a função de análise de dados. Suas funções incluem limpeza, tratamento e análise exploratória de dados (EDA). É uma biblioteca muito utilizada para o trabalho de Machine Learning e Data Science, porém sua utilidade vai muito além disso, sendo uma ferramenta poderosa para programadores ou profissionais que lidam com grandes conjuntos de dados. Eu utilizo muito o Pandas para conferência de relatórios e bases de dados, e considero uma ferramenta muito útil, por exemplo, para profissionais de finanças, contabilidade, etc. Funcionamento do Pandas O funcionamento do Pandas está centrado em DataFrames, que são objetos para estruturar dados, algo parecido com uma planilha. Os dados são importados para um DataFrame, e as fontes de dados pode ser de diversos tipos, por exemplo: Excel Json SQL HTML Google Sheets A liberdade que o P...