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 utilizado, geralmente 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 escrever dados JSON por padrão e JSON é um formato de dados agnósticos de linguagem de programação. Os valores armazenados em um arquivo ou carga útil JSON geralmente contêm strings, números e tipos de dados serializáveis, como listas (matrizes).
Dicionários JSON e Python
Os dados JSON no Python são convertidos em um objeto de dicionário usando o método "Load". Observa -se frequentemente que algumas pessoas equiparam dados JSON e um dicionário python, pois a sintaxe para definir os dois é quase a mesma. No entanto, os dados JSON nada mais são do que uma sequência 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ê deseja armazenar dados de dicionário em um arquivo de texto ou enviá-los para outro programa não-python, você precisará convertê-los primeiro em uma string de texto (bytes). Essa sequência de texto despejada / convertida é definida na sintaxe padrão do JSON e o processo de conversão de um dicionário de python em uma string compatível com JSON é chamada de serialização.
Leitura e despejo de dados JSON em Python
Os dados JSON podem ser recuperados como uma resposta de um servidor, lido do arquivo, cortado dos parâmetros de consulta 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:
"Codename": "Eoan ermine", "versão": "Ubuntu 19.10 "Para ler o teste.Arquivo JSON em Python, você pode usar o código abaixo:
importar jsonA primeira linha no código acima importa o módulo JSON. Na próxima linha, "com o Open" é usado para ler com segurança o conteúdo do arquivo. Dentro do bloco "com aberto", "JSON.O método de carga "é usado para ler e armazenar o conteúdo do arquivo na variável" dados ". Os dados carregados na etapa anterior são convertidos de volta na string json usando o “JSON.Método do despejo ”. A execução do código acima mostrará a seguinte saída:
'codename': 'eoan ermine', 'versão': 'ubuntu 19.10 'Aviso na saída acima de que o “JSON.O método de carga "lê dados de JSON em um dicionário python enquanto“ JSON.Métodos de despejos ”converte um dicionário em uma string compatível com a estrutura JSON. Depois que um objeto JSON foi convertido em um objeto Python Dictionary, você pode usar métodos de dicionário Python embutidos 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 outros dicionários e listas aninhados.
Classificando e imprimindo os dados JSON
O “JSON.O método do dump ”suporta alguns parâmetros opcionais para classificar as chaves e imprimir a saída para melhorar a legibilidade.
importar jsonO código acima mostrará a seguinte saída:
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 |
corda | str |
número | int ou flutuar |
verdadeiro falso | Verdadeiro falso |
nulo | Nenhum |
variedade | lista |
objeto | dito |
JSON.Módulo de linha de comando da ferramenta
Python inclui um bom utilitário de linha de comando “JSON.ferramenta ”que pode ser usada para validar e bastante impressa strings e arquivos JSON.
$ echo '"codename": "eoan ermine", "versão": "ubuntu 19.10 " '| python3 -m json.ferramentaExecutar o comando acima mostrará a você seguinte a saída:
Você também pode usar JSON.ferramenta com arquivos json. Substitua “in_file” e “out_file” no comando abaixo pelos valores desejados:
$ python3 -m json.ferramenta in_file out_fileAlém de uma bela impressão, classificar e validar dados JSON, JSON.A ferramenta não faz mais nada. Portanto, se você deseja manipular qualquer dados JSON, deve escrever seu próprio código personalizado usando o módulo JSON integrado.