Como ler e gravar em um arquivo JSON em Python

JavaScript Object Notation (JSON) é uma ferramenta de programação poderosa para trocar dados rapidamente em várias plataformas de programação. Esteja você armazenando dados ou criando uma API, converter seus dados em JSON os torna reutilizáveis ​​e chamáveis, independentemente da tecnologia que os acessa.

Para promover uma comunicação eficaz entre Python e outras linguagens de programação, incluindo JavaScript, você pode fornecer seus dados como um objeto JSON.

Veja como ler e gravar em um arquivo JSON em Python.

Como gravar diretamente em um arquivo JSON

Há uma linha tênue entre um objeto JSON e um dicionário Python.

Portanto, é fácil armazenar um dicionário Python como JSON. Mas, para fazer isso funcionar, você precisa da biblioteca do analisador json .

Para começar, crie um arquivo JSON no diretório raiz do seu projeto.

Crie e abra um arquivo Python no mesmo diretório. Você pode então escrever um dicionário no arquivo JSON usando Python:

 import json
data = {"MUO":"Media", "Google":"Search", "Python":"Language"}
with open("myfile.json", "w") as j:
json.dump(data, j)

Você também pode escrever uma matriz mais complexa em seu arquivo:

 import json
data = {"Sites":[{"MUO":"Media", "Google":"Search", "Python":"Language"}]}
with open("myfile.json", "w") as j:
json.dump(data, j)

Como armazenar uma lista como JSON em Python

Você pode ter uma lista ou duas e deseja salvá-los como JSON. Uma boa prática é convertê-los em um dicionário antes de gravá-los em um arquivo JSON.

Existem muitas maneiras de converter uma lista em um dicionário Python .

O código de exemplo abaixo converte a lista em um dicionário antes de gravá-la em um objeto JSON:

 import json
data = ["MUO", "Media", "Google", "Search", "Python", "Language"]
data = {data[i]:data[i+1] for i in range(0, len(data), 2)} #convert data into a dictionary
with open("myfile.json", "w") as j:
json.dump(data, j)

Relacionado: Como usar loops For em Python

E se você quiser mesclar duas listas em uma antes de gravá-las em um arquivo JSON:

 import json
data = ["MUO", "Google", "Python"]
data2 = ["Media", "Search", "Language"]
outputData = {data[i]:data2[i] for i in range(len(data))} #merge the two lists into a dictionary
with open("myfile.json", "w") as j:
json.dump(outputData, j)

Acessando Seus Dados JSON

É fácil acessar e consultar seus dados de um arquivo JSON usando Python:

 import json
with open("test.json", "r") as j:
mydata = json.load(j)
print(mydata)
Output: {'MUO': 'Media', 'Google': 'Search', 'Python': 'Language'}

Saiba mais: como ler JSON com Python

E se você deseja obter dados específicos de seu arquivo JSON:

 with open("test.json", "r") as j:
mydata = json.load(j)
print(mydata["MUO"])
Output: Media

Consultar mais rápido em Python com JSON

Além de ser multiplataforma, os objetos JSON são leves e podem melhorar a velocidade de resposta durante as consultas. E, como você viu, disponibilizar saídas como objetos JSON em Python é simples.

No entanto, pode haver algumas diferenças entre os exemplos aqui e a implementação real em um projeto da vida real. Este é o conhecimento básico de que você precisa para começar. Felizmente, você pode até usar um banco de dados NoSQL como CouchDB com Python para armazenar entradas diretamente como JSON.