Ao trabalhar com dados JSON em Python, você pode se ver na necessidade de exibir esses dados em um formato mais legível, conhecido como “impressão bonita” (pretty-printing). Impressão bonita é uma maneira de formatar seu conteúdo JSON de forma que fique mais fácil para os humanos lerem. Neste artigo, exploraremos várias maneiras de imprimir bonito um arquivo JSON em Python.
Usando json.dump()
e json.dumps()
O módulo json
em Python oferece uma maneira direta de imprimir bonito dados JSON. Você pode usar o parâmetro indent
em json.dump()
ou json.dumps()
para definir o número de espaços que deseja para a indentação. Aqui está um exemplo simples:
import json
# Seus dados JSON como uma string
seu_json = '["foo", {"bar": ["baz", null, 1.0, 2]}]'
# Analisa os dados JSON
analisado = json.loads(seu_json)
# Imprime bonito os dados JSON analisados
print(json.dumps(analisado, indent=4))
Isso irá exibir os dados JSON com uma indentação de 4 espaços, tornando-os muito mais legíveis.
Analisando e Imprimindo Bonito a partir de um Arquivo
Se seus dados JSON estão armazenados em um arquivo, você pode usar json.load()
para analisá-los:
import json
# Abre seu arquivo JSON
with open('nome_do_arquivo.txt', 'r') as handle:
# Analisa os dados JSON do arquivo
analisado = json.load(handle)
# Imprime bonito os dados JSON analisados
print(json.dumps(analisado, indent=4))
Impressão Bonita de JSON via Linha de Comando
Para aqueles que preferem trabalhar diretamente da linha de comando, Python oferece uma ferramenta útil:
python3 -m json.tool algum.json
Este comando irá imprimir bonito os dados JSON do arquivo algum.json
.
Usando jq
para Impressão Bonita com Cores
Outra ferramenta de linha de comando que é excelente para trabalhar com dados JSON é jq
. Ela não apenas imprime bonito seu JSON, mas também adiciona cor à saída, o que pode ser muito útil para distinguir entre diferentes tipos de dados:
jq . algum.json
Impressão Bonita com o Módulo pprint
O módulo pprint
do Python também pode ser usado para exibir dados JSON de forma amigável para o ser humano. Veja como você pode usá-lo:
import json
import pprint
# Lê os dados JSON de um arquivo
with open('nome_do_arquivo.txt', 'r') as f:
dados = f.read()
dados_json = json.loads(dados)
# Imprime bonito os dados JSON na tela
pprint.pprint(dados_json, compact=True)
# Escreve os dados JSON impressos bonito em um arquivo
pretty_json_str = pprint.pformat(dados_json, compact=True).replace("'", '"')
with open('nome_do_arquivo.json', 'w') as f:
f.write(pretty_json_str)
Lembre-se de substituir as aspas simples por aspas duplas na string retornada por pprint.pformat()
para garantir que a saída seja um JSON válido.
Resumo
Imprimir bonito JSON em Python pode ser feito de várias maneiras, seja trabalhando dentro de um script ou diretamente da linha de comando. As funções dump()
e dumps()
do módulo json
com o parâmetro indent
, a ferramenta de linha de comando json.tool
e a ferramenta jq
são todas opções excelentes para formatar dados JSON. Além disso, o módulo pprint
oferece uma maneira de imprimir bonito dados JSON com controle sobre a compactação e largura. Usando esses métodos, você pode facilmente transformar seus dados JSON em um formato legível por humanos, tornando-os mais fáceis de trabalhar e entender.
Cursos de programação gratuitos com certificado
Aprenda a programar e desenvolva soluções para o seu trabalho com Python para alcançar novas oportunidades profissionais. Aqui na Asimov você encontra:
- Conteúdos gratuitos
- Projetos práticos
- Certificados
- +20 mil alunos e comunidade exclusiva
- Materiais didáticos e download de código
Comentários