Como trabalhar com dados JSON usando Python

Este tutorial mostra como é fácil usar a linguagem de programação Python para trabalhar com dados JSON.

Antes de começar o tópico, vamos definir brevemente o que queremos dizer com JSON. Vamos ver como o site principal do JSON o define:

JSON (JavaScript Object Notation) é um formato leve de intercâmbio de dados. É fácil para humanos ler e escrever. É fácil para as máquinas analisar e gerar. Ele é baseado em um subconjunto da JavaScript Programming Language, Standard ECMA-262 3rd Edition – December 1999. JSON é um formato de texto completamente independente de linguagem, mas usa convenções familiares aos programadores da família C de linguagens, incluindo C , C++, C#, Java, JavaScript, Perl, Python e muitos outros. Essas propriedades tornam o JSON uma linguagem de intercâmbio de dados ideal.

Assim, JSON é uma maneira simples de criar e armazenar estruturas de dados dentro do JavaScript. A razão pela qual você vê JavaScript na sigla é devido ao fato de que um objeto JavaScript é criado ao armazenar dados com JSON. Mas, não se preocupe, você não precisa saber JavaScript para trabalhar com arquivos JSON, mas sim sobre a própria sintaxe JSON (formato).

Resumidamente, JSON é uma forma pela qual armazenamos e trocamos dados, o que é feito por meio de sua sintaxe e é usado em muitas aplicações web. O legal do JSON é que ele possui um formato legível por humanos, e esse pode ser um dos motivos para usá-lo na transmissão de dados, além de sua eficácia ao trabalhar com APIs.

Um exemplo de dados formatados em JSON é o seguinte:

Neste tutorial, mostrarei como usar o Python para trabalhar com arquivos JSON. Então vamos começar!

Python e JSON

O Python simplifica o trabalho com arquivos JSON. O módulo utilizado para este fim é o json módulo. Este módulo deve ser incluído (incorporado) em sua instalação do Python e, portanto, você não precisa instalar nenhum módulo externo como fizemos ao trabalhar com arquivos PDF e Excel, por exemplo. A única coisa que você precisa para usar este módulo é importá-lo:

import json

Mas, o que o json biblioteca faz? Esta biblioteca analisa principalmente JSON de arquivos ou strings. Ele também analisa JSON em um dicionário ou lista em Python e vice-versa, que está convertendo um dicionário ou lista Python em strings JSON.

JSON para Python

Ler JSON significa converter JSON em um valor Python (objeto). Como mencionado acima, o json biblioteca analisa JSON em um dicionário ou lista em Python. Para isso, utilizamos o loads() função (carregar de uma string), como segue:

Se você quiser ver a saída, faça um print jsonToPythonnesse caso você obterá a seguinte saída:

{u'age': 39, u'name': u'Frank'}

Ou seja, os dados são retornados como um dicionário Python (estrutura de dados do objeto JSON). Então, a declaração print jsonToPython['name'] retornar alguma saída? Vá em frente, experimente.

Python para JSON

Na seção anterior, vimos como converter JSON em um valor Python (ou seja, Dicionário). Nesta seção, mostrarei como podemos converter (codificar) um valor Python em JSON.

Digamos que temos o seguinte Dicionário em Python:

Se nós print dictionaryToJsonobtemos os seguintes dados JSON:

{"age": 44, "isEmployed": true, "name": "Bob"}

Portanto, esta saída é considerada a representação de dados do objeto (Dicionário). O método dumps() foi a chave para tal operação.

É importante observar neste ponto que o JSON não pode armazenar todos os tipos de objetos Python, mas apenas os seguintes tipos: Listas; Dicionários; Booleanos; Números; Cadeias de caracteres; e Nenhum. Assim, quaisquer outros tipos precisam ser convertidos para serem armazenados em JSON.

Digamos que temos a seguinte classe:

Digamos que criamos um novo objeto abderdo seguinte modo:

abder = Employee('Abder')

E se quiséssemos converter esse objeto em JSON? Aquilo é json.dumps(abder)? Nesse caso, você receberia um erro semelhante ao seguinte:

Mas, existe uma solução alternativa? Felizmente existe. Eu gosto da solução descrita no site Python Tips. Para resolver esse problema, podemos definir um método semelhante ao seguinte:

Em seguida, codifique o objeto em JSON da seguinte maneira:

jsonAbder = json.dumps(abder, default=jsonDefault)

Se você print jsonAbdervocê deve obter a seguinte saída:

{"name": "Abder"}

Agora codificamos um objeto Python (abder) em JSON.

Conclusão

A partir deste tutorial, podemos notar que o Python está provando repetidamente não apenas sua capacidade de trabalhar com diferentes aplicativos, mas também sua flexibilidade para trabalhar com diferentes problemas ao trabalhar com um aplicativo, como vimos na última parte do tutorial.

Se você quiser saber mais sobre o json módulo, você pode visitar a página de documentação.

Aprenda JavaScript: o guia completo

Criamos um guia completo para ajudá-lo a aprender JavaScript, quer você esteja apenas começando como desenvolvedor da Web ou queira explorar tópicos mais avançados.

Aprenda Python

Aprenda Python com nosso guia tutorial completo sobre Python, seja você apenas começando ou um programador experiente procurando aprender novas habilidades.

Originally posted 2022-07-01 10:07:22.

Deixe uma resposta