HOWTO · Python

Salvar dicionário em JSON em Python

Este tutorial demonstra como salvar um dicionário como um arquivo json em Python

Nesta página

Este tutorial explicará vários métodos para salvar um dicionário como um arquivo JSON em Python. O formato JSON é um formato de arquivo leve predominante; ele é usado principalmente para armazenar e transferir dados entre servidores e aplicativos da web. É um formato de arquivo independente do idioma completo e fácil de entender para um ser humano.

Salvar dicionário em JSON usando o método pickle.dump() em Python

O método dump(obj, file, ..) do módulo pickle grava o objeto de dados obj no objeto de arquivo aberto file. Para salvar o dicionário no formato JSON, precisaremos do objeto de arquivo do arquivo .json e do dicionário que precisamos para salvar e passá-los para o método dump().

Também podemos carregar o dicionário salvo do arquivo .json usando o método load() da biblioteca pickle. O método pickle.load(file, ..) lê o arquivo e retorna o objeto do tipo de dados usado para salvar os dados, como um dicionário, lista ou conjunto, etc.

O código de exemplo abaixo demonstra como salvar o dicionário como um arquivo JSON em Python usando o método dump():

import pickle

my_dict = {"Ali": 9, "Sid": 1, "Luna": 7, "Sim": 12, "Pooja": 4, "Jen": 2}
with open("data.json", "wb") as fp:
    pickle.dump(my_dict, fp)

with open("data.json", "rb") as fp:
    data = pickle.load(fp)
print(data)
print(type(data))

Resultado:

{'Ali': 9, 'Sid': 1, 'Luna': 7, 'Sim': 12, 'Pooja': 4, 'Jen': 2}
<class 'dict'>

Salvar dicionário em JSON usando o método json.dump() em Python

O método dump(obj, file, ..) do módulo json também grava o objeto de dados obj no objeto de arquivo aberto file. E o método load(file, ..) do módulo json também lê o arquivo e retorna o objeto do tipo de dados usando o qual os dados foram salvos. No nosso caso, será um dicionário.

Conforme explicado acima, para salvar o dicionário como um arquivo JSON, precisaremos do objeto de arquivo aberto do arquivo .json para salvar os dados do dicionário nele. Também é necessário carregar os dados do arquivo .json.

O exemplo de código abaixo demonstra como salvar e carregar o dicionário no arquivo JSON em Python usando os métodos json.dump() e json.load():

import json

my_dict = {"Ali": 9, "Sid": 1, "Luna": 7, "Sim": 12, "Pooja": 4, "Jen": 2}
with open("data.json", "w") as fp:
    json.dump(my_dict, fp)

with open("data.json", "r") as fp:
    data = json.load(fp)
print(data)
print(type(data))

Resultado:

{'Ali': 9, 'Sid': 1, 'Luna': 7, 'Sim': 12, 'Pooja': 4, 'Jen': 2}
<class 'dict'>
Nota
A principal diferença entre os métodos pickle e json, conforme mostrado no exemplo de código acima, é que os métodos pickle requerem objetos de arquivo em modo binário para ler e escrever, e os métodos json requerem objetos de arquivo em leitura simples e modo de gravação.