Como Escrever Dados JSON em um Arquivo em Python

Ana Maria Gomes
4 minutos de leitura

Conteúdos do tutorial

Ao trabalhar com dados JSON em Python, você pode se deparar com a situação em que precisa salvar esses dados em um arquivo. Essa é uma tarefa comum, especialmente quando lidamos com a persistência de dados ou a troca de dados entre diferentes sistemas. Neste artigo, vamos explorar como escrever dados JSON em um arquivo usando Python.

Escrevendo Dados JSON em um Arquivo

JSON (JavaScript Object Notation) é um formato leve de troca de dados que é fácil de ler e escrever por humanos, e fácil de ser interpretado e gerado por máquinas. Python fornece um módulo integrado chamado json que pode ser usado para trabalhar com dados JSON.

Aqui está uma maneira simples de escrever dados JSON em um arquivo:

import json

# Suponha que 'data' seja um dicionário contendo nossos dados JSON
data = {
    'nome': 'John Doe',
    'idade': 30,
    'é_estudante': False
}

# Escrevendo dados JSON em um arquivo
with open('data.json', 'w') as f:
    json.dump(data, f)

A instrução with garante que o arquivo seja fechado adequadamente após a finalização do bloco, mesmo que ocorra um erro. A função json.dump() recebe dois argumentos: os dados a serem serializados e o objeto semelhante a arquivo para o qual os bytes serão escritos.

Garantindo a Codificação UTF-8

Para garantir que o arquivo seja escrito com a codificação UTF-8, que é a codificação padrão para JSON, você pode especificar a codificação ao abrir o arquivo:

import json

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

Isso é particularmente importante se seus dados contêm caracteres não ASCII.

Escrevendo JSON de Forma Legível

Para melhor legibilidade, você pode querer escrever os dados JSON de forma legível, com chaves ordenadas e indentadas com 4 espaços:

import json

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

Isso produzirá um arquivo que é mais fácil de ser lido por humanos e é útil quando você precisa inspecionar manualmente os dados JSON.

Compatibilidade com Python 2

Se você precisa garantir compatibilidade com Python 2, pode usar o módulo io para lidar com a codificação:

import io
import json

with io.open('data.json', 'w', encoding='utf-8') as f:
    f.write(json.dumps(data, ensure_ascii=False))

No entanto, se você está trabalhando com Python 3, o primeiro exemplo fornecido funcionará perfeitamente.

Resumo

Neste artigo, aprendemos como escrever dados JSON em um arquivo em Python. Cobrimos o método básico usando o módulo json, como garantir a codificação UTF-8 e como escrever JSON de forma legível para melhor leitura. Lembre-se de usar json.dump() para serializar seus dados e escrevê-los em um arquivo, e considere usar ensure_ascii=False e indent=4 para tornar seus arquivos JSON mais legíveis. Com essas técnicas, você pode facilmente lidar com dados JSON em suas aplicações Python.

Inscreva-se gratuitamente e fique atualizado

Receba toda semana um resumo dos principais conteúdos da Asimov direto no seu e-mail. 100% livre de spam.

Áreas de interesse: