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
dumpsvsdump(eloadsvsload): Funções com sufixostrabalham diretamente com strings na memória. Sem os(json.dumpejson.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:
dictviraobject,listviraarray,bool(True/False) viratrue/falseeNoneviranull. - Formatação com
indent: Definirindent=2ouindent=4gera um JSON formatado ("pretty print"), facilitando logs e debugging durante o desenvolvimento.

Comentários
Postar um comentário