Guia Completo para Manipular Dados JSON em Python | Da Leitura à Escrita

1. O que é JSON?

Visão geral do JSON

JSON (JavaScript Object Notation) é um formato leve e altamente eficiente para troca de dados. É usado principalmente para comunicação entre aplicações web e servidores. Embora o JSON seja baseado em JavaScript, ele é suportado por quase todas as linguagens de programação. Ele desempenha um papel crucial na recuperação e envio de dados via APIs.

Estrutura do JSON

JSON consiste em pares chave‑valor, com os dados delimitados por chaves {}. Aqui está um exemplo simples:

{
    "name": "John",
    "age": 30,
    "isStudent": false,
    "courses": ["Math", "Physics", "Chemistry"]
}

Essa estrutura é muito flexível e pode incluir listas e objetos aninhados.

Ad

2. Método básico para ler arquivos JSON em Python

Apresentando a biblioteca json do Python

O Python fornece a biblioteca nativa json, facilitando o manuseio de arquivos JSON sem necessidade de instalações adicionais. Essa biblioteca inclui funções fundamentais para leitura e gravação de dados JSON.

Como ler um arquivo JSON

Usamos a função json.load() para ler dados de um arquivo. O exemplo a seguir demonstra como carregar JSON de um arquivo e trabalhá‑lo como um dicionário.

import json

with open('data.json', 'r', encoding='utf-8') as f:
    data = json.load(f)

print(data)
Ad
RUNTEQ(ランテック)|超実戦型エンジニア育成スクール

3. Como ler strings JSON em Python

Usando a função json.loads()

Para converter dados JSON em formato de string para um dicionário Python, use a função json.loads(). Isso é comumente usado ao processar respostas de APIs que contêm strings JSON.

import json

json_string = '{"name": "Alice", "age": 25, "city": "Tokyo"}'
data = json.loads(json_string)

print(data)

Esse método permite transformar facilmente strings JSON em dicionários.

Ad

4. Considerações importantes e tratamento de erros ao ler arquivos JSON

Erros comuns e soluções

Um dos erros mais frequentes ao ler um arquivo JSON é JSONDecodeError. Ele ocorre quando o arquivo não está em um formato JSON válido. Um tratamento de erro adequado é essencial para identificar e corrigir problemas.

import json

try:
    with open('data.json', 'r', encoding='utf-8') as f:
        data = json.load(f)
except json.JSONDecodeError as e:
    print(f"JSON Load Error: {e}")

Problemas de codificação

Ao lidar com arquivos JSON que contêm caracteres não‑ASCII, como texto em japonês, especificar encoding='utf-8' ajuda a evitar a corrupção de caracteres.

Ad
RUNTEQ(ランテック)|超実戦型エンジニア育成スクール

5. Manipulação eficiente de grandes volumes de dados JSON em Python

Processamento de dados com uso otimizado de memória

Carregar arquivos JSON grandes completamente na memória pode causar falta de memória. Para evitar isso, recomenda‑se usar bibliotecas de streaming como ijson.

import ijson

with open('large_file.json', 'r', encoding='utf-8') as f:
    for item in ijson.items(f, 'item'):
        print(item)

O uso de ijson permite processar de forma eficiente dados em larga escala.

Ad

6. Utilizando dados JSON após convertê‑los paraicionário Python

Operações básicas com dicionários

Converter JSON em um dicionário facilita muito a manipulação dos dados. Por exemplo, você pode obter valores de chaves específicas, atualizar dados ou adicionar novos pares chave‑valor.

# Example of dictionary operations
print(data['name'])  # Outputs 'Alice'
data['age'] = 26  # Updating a value
data['email'] = 'alice@example.com'  # Adding a new key-value pair
Ad

7. Gravando dados JSON em Python

Escrevendo dados em um arquivo JSON

Para gravar um dicionário Python como dados JSON e salvá‑lo em um arquivo, use a função json.dump(). Isso permite armazenar dados modificados de forma simples.

with open('data.json', 'w', encoding='utf-8') as f:
    json.dump(data, f, indent=4, ensure_ascii=False)

A opção indent=4 formata a saída para melhor legibilidade, enquanto ensure_ascii=False garante que caracteres não‑ASCII (como texto em japonês) sejam preservados corretamente.

Ad
侍エンジニア塾