Analisador e validador Python JSON

Aprenda como ler, validar, modificar e serializar JSON em Python. Domine a biblioteca json integrada com exemplos realistas.

Experimente no Editor

Visão geral

JSON (JavaScript Object Notation) é o formato padrão para troca de dados na web. Python fornece um módulo integrado poderoso chamado `json` que traduz strings JSON em dicionários Python e vice-versa.

O módulo expõe dois conjuntos principais de operações: `loads` e `dumps` para manipular strings JSON diretamente, e `load` e `dump` para escrever ou ler dados diretamente de fluxos de arquivos.

Ao trabalhar com JSON, o tratamento de erros é fundamental. Python gera um `json.JSONDecodeError` se a sintaxe da string for quebrada, o que é essencial para capturar ao consumir cargas úteis de APIs públicas.

Saída de código e execução

Um script que demonstra validação de string JSON, análise de ditado, modificações e impressão bonita.

import json

raw_json = """
{
    "status": "success",
    "data": {
        "user_id": 9042,
        "username": "coder_xyz",
        "roles": ["admin", "developer"],
        "verified": true
    }
}
"""

try:
    # Parsing JSON string into Python dict
    data = json.loads(raw_json)
    print("--- JSON Decoded Successfully ---")
    print(f"Username: {data['data']['username']}")
    print(f"Is Admin: {'admin' in data['data']['roles']}")
    
    # Mutating Python dict
    data['data']['verified'] = False
    data['data']['last_login'] = "2026-05-25"
    
    # Serializing dict back to formatted JSON
    pretty_json = json.dumps(data, indent=4)
    print("\n--- Modified JSON String ---")
    print(pretty_json)
    
except json.JSONDecodeError as e:
    print(f"Invalid JSON Format: {e}")
Saída terminal
--- JSON Decoded Successfully ---
Username: coder_xyz
Is Admin: True

--- Modified JSON String ---
{
    "status": "success",
    "data": {
        "user_id": 9042,
        "username": "coder_xyz",
        "roles": [
            "admin",
            "developer"
        ],
        "verified": false,
        "last_login": "2026-05-25"
    }
}

Implementação passo a passo

  • Lendo configurações de aplicativos e arquivos de credenciais
  • Analisando respostas de endpoints da API REST
  • Salvando estados ou níveis de programas em utilitários de desktop

Perguntas frequentes

Qual é a diferença entre dump e dumps em Python?

`dumps` serializa um objeto em um formato de string JSON, enquanto `dump` grava o fluxo JSON serializado diretamente em um objeto de arquivo gravável.

Como o Python lida com valores nulos JSON?

O decodificador `json` do Python mapeia automaticamente JSON `null` para `None`, `true` e `false` para `True` e `False`, e arrays para listas.

Tópicos Relacionados