Search
Close this search box.

Python JSON: Um guia para iniciantes

Ao aprender a programar em Python, é fundamental entender como trabalhar com JSON. Nesse sentido, neste artigo, você aprenderá a tratar o formato JSON utilizando o Python passo a passo, com exemplos claros e explicação detalhada dos trechos de código.

Entendendo o JSON em Python

Antes de começar a trabalhar com JSON utilizando o Python, é crucial compreender o que é JSON, sua estrutura e como ele é utilizado. JSON, que significa JavaScript Object Notation, é um formato leve e de fácil leitura para armazenar e trocar dados entre aplicativos. Ele é independente de linguagem e é usado amplamente em várias aplicações, como APIs e configurações de aplicativos.

Estrutura do JSON

JSON é um formato de dados baseado em texto que representa informações na forma de pares chave-valor. Nele, os dados são estruturados como objetos, que são coleções desordenadas de pares chave-valor, e arrays, que são listas ordenadas de valores. As chaves são sempre strings, enquanto os valores podem ser strings, números, booleanos, objetos, arrays ou um valor especial chamado null.

Aqui está um exemplo de dados:

{
    "nome": "João",
    "idade": 25,
    "hobbies": ["futebol", "cinema", "leitura"],
    "endereco": {
        "rua": "Rua das Flores",
        "numero": 123,
        "cidade": "São Paulo"
    },
    "ativo": true
}

Nesse exemplo, você pode ver que os dados JSON estão estruturados como um objeto com pares chave-valor. Além disso, os dados incluem strings, números, booleanos, arrays e objetos aninhados.

Relação entre JSON e Python

Embora o JSON seja independente de linguagem, ele tem uma relação próxima com a sintaxe dos dicionários e listas Python. De fato, ao trabalhar com JSON em Python, você converterá dados JSON em dicionários e listas Python, e vice-versa.

Aqui estão algumas correspondências entre tipos de dados JSON e Python:

  • Objetos JSON são convertidos em dicionários Python.
  • Arrays JSON são convertidos em listas Python.
  • Strings, números e booleanos JSON são convertidos em seus respectivos tipos de dados Python.
  • O valor null JSON é convertido em None em Python.
relação Python Json

Importando a biblioteca json

Para tratar JSON, primeiro você precisa importar a biblioteca json. Logo após, você poderá usar suas funções para lidar com os dados. Por exemplo:

import json

Trabalhando com JSON em Python: Leitura e Escrita

Agora que você entende o formato e já importou a biblioteca necessária, é hora de aprender a ler e escrever dados JSON.

Lendo JSON

Para ler dados JSON, você pode usar a função json.loads(). Com essa função aceita uma string JSON e a converte em um objeto Python. Por exemplo:

import json

json_string = '{"nome": "Maria", "idade": 30}'
dados = json.loads(json_string)

print(dados)
print(type(dados))

Nesse exemplo, a string JSON é convertida em um dicionário Python. Em seguida, imprimimos os dados e seu tipo. O resultado será:

{'nome': 'Maria', 'idade': 30}
<class 'dict'>

Escrevendo JSON

Para escrever dados JSON, você pode usar a função json.dumps(). Essa função aceita um objeto Python e o converte em uma string JSON. Por exemplo:

import json

dados = {'nome': 'Maria', 'idade': 30}
json_string = json.dumps(dados)

print(json_string)
print(type(json_string))

Nesse exemplo, o dicionário Python é convertido em uma string JSON. Em seguida, imprimimos a string JSON e seu tipo. O resultado será:

{"nome": "Maria", "idade": 30}
<class 'str'>

Lidando com Arquivos JSON em Python

Além de trabalhar com strings JSON, você também pode ler e escrever arquivos JSON.

Lendo arquivos JSON

Para ler arquivos JSON, use a função json.load(). Essa função aceita um objeto de arquivo e retorna um objeto Python. Por exemplo:

import json

with open('exemplo.json', 'r') as arquivo:
    dados = json.load(arquivo)

print(dados)

Nesse exemplo, abrimos o arquivo ‘exemplo.json’ e lemos seus dados JSON usando a função json.load(). Em seguida, imprimimos os dados convertidos em um objeto Python.

Escrevendo arquivos JSON

Para escrever arquivos JSON, use a função json.dump(). Essa função aceita um objeto Python e um objeto de arquivo, e escreve o objeto Python como dados JSON no arquivo. Por exemplo

import json

dados = {'nome': 'Maria', 'idade': 30}

with open('exemplo.json', 'w') as arquivo:
    json.dump(dados, arquivo)

Nesse exemplo, criamos um dicionário Python chamado dados e escrevemos seus valores no arquivo ‘exemplo.json’ usando a função json.dump().

Personalizando a Formatação do JSON em Python

Ao lidar com dados JSON, às vezes você pode querer personalizar a formatação. Por exemplo, você pode querer adicionar recuos para melhorar a legibilidade

Adicionando recuos ao JSON

Para adicionar recuos, use o argumento indent da função json.dumps() ou json.dump(). Por exemplo:

import json

dados = {'nome': 'Maria', 'idade': 30}
json_string = json.dumps(dados, indent=4)

print(json_string)

Nesse exemplo, a função json.dumps() converte o dicionário Python em uma string JSON com recuo de 4 espaços. Portanto o resultado será:

{
    "nome": "Maria",
    "idade": 30
}

Lidando com Erros ao Tratar JSON em Python

Erros acontecem durante o tratamento do JSON. E para isto é importante aprender a lidar com eles, e como contorná-los.

Tratando erros de sintaxe JSON

Erros de sintaxe podem ocorrer ao tentar ler ou escrever dados JSON malformados. Para lidar com esses erros, use um bloco try e except com a exceção json.JSONDecodeError. Por exemplo:

import json

json_string = '{"nome": "Maria", "idade": 30'

try:
    dados = json.loads(json_string)
except json.JSONDecodeError as erro:
    print(f"Erro de decodificação JSON: {erro}")

Nesse exemplo, está faltando uma chave de fechamento, obrigatório ao formato. Ao tentar ler essa string com a função json.loads(), ocorre um erro de decodificação JSON. Capturamos e tratamos esse erro usando a exceção json.JSONDecodeError.

Conclusão

Em suma, neste artigo, você aprendeu a tratar JSON utilizando nossa linguagem de programação favorita, de maneira simples e eficaz, com exemplos adequados para iniciantes. Você aprendeu a ler e escrever dados JSON, trabalhar com arquivos, personalizar a formatação do JSON e lidar com erros. Agora, você está pronto para usar essas habilidades em seus próprios projetos e expandir ainda mais seus conhecimentos em programação Python.