Pitão

Como ler e gravar arquivos Json em Python

Como ler e gravar arquivos Json em Python
Este artigo explicará como lidar com arquivos JSON e dados na linguagem de programação Python. Python vem com um módulo "json" integrado que torna o manuseio de dados JSON fácil e direto.

Sobre JSON

JSON (JavaScript Object Notation) é um formato de arquivo e padrão de armazenamento de dados que usa pares de valores-chave para armazenar e trocar dados. É o formato de troca de dados mais amplamente usado, frequentemente visto em APIs RESTful, bancos de dados leves, arquivos de configuração e outros softwares offline ou online que precisam armazenar, recuperar e trocar dados. A maioria das linguagens de programação inclui bibliotecas para analisar e gravar dados JSON por padrão e JSON é um formato de dados agnóstico de linguagem de programação. Os valores armazenados em um arquivo JSON ou carga útil geralmente contêm strings, números e tipos de dados serializáveis ​​como listas (matrizes).

Dicionários JSON e Python

Os dados JSON em python são convertidos em um objeto de dicionário usando o método “load”. Muitas vezes é visto que algumas pessoas equiparam dados json e um dicionário python, já que a sintaxe para definir ambos é quase a mesma. No entanto, os dados json nada mais são do que uma string de texto estruturada em uma sintaxe rígida, enquanto um dicionário python é um objeto de estrutura de dados armazenado na memória. Se você quiser armazenar dados de dicionário em um arquivo de texto ou enviá-los para outro programa não-python, você terá que primeiro convertê-los em uma string de texto (bytes). Esta string de texto despejada / convertida é definida na sintaxe padrão do JSON e o processo de conversão de um dicionário Python em uma string compatível com json é chamado de serialização.

Leitura e despejo de dados JSON em Python

Os dados JSON podem ser recuperados como uma resposta de um servidor, lidos do arquivo, separados dos parâmetros de consulta de URL e assim por diante. Este artigo se concentrará principalmente na leitura de dados json de um arquivo armazenado localmente. Vamos supor que um “teste.O arquivo json ”contém os seguintes dados:

"codinome": "Eoan Ermine", "versão": "Ubuntu 19.10 "

Para ler o teste.arquivo json em python, você pode usar o código abaixo:

import json
com aberto ("teste.json ") como f:
data = json.carga (f)
dump = json.despejos (dados)
imprimir (dados)
imprimir (tipo (dados))
imprimir (despejar)
imprimir (tipo (despejar))

A primeira linha no código acima importa o módulo json. Na próxima linha, “with open” é usado para ler com segurança o conteúdo do arquivo. Dentro do bloco “com aberto”, “json.método load ”é usado para ler e armazenar o conteúdo do arquivo na variável“ data ”. Os dados carregados na etapa anterior são convertidos de volta em string json usando o método “json.método de despejo. Executar o código acima mostrará a seguinte saída:

'codinome': 'Eoan Ermine', 'versão': 'Ubuntu 19.10 '

"codinome": "Eoan Ermine", "versão": "Ubuntu 19.10 "

Observe na saída acima que o “json.load ”método lê dados json brutos em um dicionário python enquanto“ json.métodos dumps ”converte um dicionário em uma string que é compatível com a estrutura JSON. Depois que um objeto JSON foi convertido em um objeto de dicionário Python, você pode usar métodos de dicionário Python integrados para lidar com os dados. O exemplo acima é bastante básico e não inclui matrizes em dados JSON ou valores aninhados. No entanto, dentro do python, você pode lidar com esses valores como quaisquer outros dicionários e listas aninhados.

Classificação e impressão bonita de dados JSON

O “json.método dump ”suporta alguns parâmetros opcionais para classificar as chaves e imprimir a saída para facilitar a leitura.

import json
com aberto ("teste.json ") como f:
data = json.carga (f)
dump = json.despejos (dados, sort_keys = True, indent = 4)
imprimir (despejar)

O código acima mostrará a seguinte saída:


"codinome": "Eoan Ermine",
"versão": "Ubuntu 19.10 "

Conversões de tipo de dados

A lista abaixo ilustra como os valores JSON são convertidos em objetos Python e vice-versa.

JSON Pitão
fragmento str
número int ou float
verdadeiro falso Verdadeiro falso
nulo Nenhum
variedade Lista
objeto dict

Json.ferramenta Módulo de linha de comando

Python inclui um bom utilitário de linha de comando “json.ferramenta ”que pode ser usada para validar e imprimir strings JSON e arquivos.

$ echo '"codename": "Eoan Ermine", "version": "Ubuntu 19.10 " '| python3 -m json.ferramenta

Executar o comando acima mostrará a seguinte saída:


"codinome": "Eoan Ermine",
"versão": "Ubuntu 19.10 "

Você também pode usar json.ferramenta com arquivos JSON. Substitua “in_file” e “out_file” no comando abaixo com os valores desejados:

$ python3 -m json.ferramenta in_file out_file

Além de impressão bonita, classificação e validação de dados JSON, json.ferramenta não faz mais nada. Então, se você deseja manipular quaisquer dados JSON, você deve escrever seu próprio código personalizado usando o módulo JSON integrado.

Como usar o GameConqueror Cheat Engine no Linux
O artigo cobre um guia sobre como usar o mecanismo de cheat GameConqueror no Linux. Muitos usuários que jogam no Windows costumam usar o aplicativo “C...
Melhores emuladores de console de jogo para Linux
Este artigo irá listar software de emulação de console de jogo popular disponível para Linux. A emulação é uma camada de compatibilidade de software q...
Melhores distros Linux para jogos em 2021
O sistema operacional Linux percorreu um longo caminho desde sua aparência original, simples e baseada em servidor. Este sistema operacional melhorou ...