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
Postar um comentário