Manipulação Prática de JSON em Python Sem Bibliotecas Externas

 


Manipulação Prática de JSON em Python Sem Bibliotecas Externas json

Este snippet mostra como serializar (converter objetos Python para string JSON) e desserializar (converter string JSON para objetos Python) utilizando o módulo nativo json. Essa abordagem é ideal para manipular estruturas de dados de forma leve e rápida sem a necessidade de instalar bibliotecas de terceiros como pandas.

Python
import json

# Dados em estrutura nativa do Python (dicionário com listas e tipos diversos)
dados_usuario = {
    "id": 101,
    "nome": "Thales",
    "ativo": True,
    "habilidades": ["Python", "Redes", "Linux"],
    "meta": {"permissao": "admin"},
}

# 1. SERIALIZAÇÃO (Python Dict -> JSON String)
# indent=4 formata a saída visualmente; ensure_ascii=False preserva acentos UTF-8
json_string = json.dumps(dados_usuario, indent=4, ensure_ascii=False)
print("--- JSON Gerado (String) ---")
print(json_string)

# 2. DESSERIALIZAÇÃO (JSON String -> Python Dict)
# json.loads converte a string de volta para um dicionário Python navegável
objeto_python = json.loads(json_string)

print("\n--- Acesso Aos Dados Desserializados ---")
print(f"Nome do usuário: {objeto_python['nome']}")
print(f"Primeira habilidade: {objeto_python['habilidades'][0]}")

Pontos-chave

  • dumps vs dump (e loads vs load): Funções com sufixo s trabalham diretamente com strings na memória. Sem o s (json.dump e json.load), elas lêem e escrevem diretamente em arquivos físicos.

  • Parâmetro ensure_ascii=False: Evita que caracteres acentuados ou especiais do português sejam convertidos para sequências de escape Unicode (como \u00e3), mantendo o texto legível.

  • Mapeamento automático de tipos: O módulo faz a conversão direta entre tipos nativos: dict vira object, list vira array, bool (True/False) vira true/false e None vira null.

  • Formatação com indent: Definir indent=2 ou indent=4 gera um JSON formatado ("pretty print"), facilitando logs e debugging durante o desenvolvimento.

Comentários

Postagens mais visitadas deste blog

Gerando Relatórios em PDF com Python (ReportLab e FPDF)

Python para Computação Quântica: Introdução com Qiskit

C# e Banco de Dados: Como Conectar e Realizar Operações com SQL Server