Curso Avançado de Desenvolvimento em Python
Capítulo
>
Nível
Módulos de Serialização
Módulo JSON
Objetivo
Vá até a estação de serviço e certifique-se de que os dados estão armazenados corretamente usando o módulo JSON para formatar arquivos.
Há uma estação de serviço ao sul do edifício anexo na nova área de construção, toda essa área será reurbanizada para o cultivo de plantações. A estação possui uma variedade de terminais processando dados para o novo desenvolvimento; podemos trabalhar escrevendo os dados manualmente, mas isso levaria muito tempo. Para o processo de manipulação de dados, podemos usar o JSON, que significa JavaScript Object Notation, um formato de dados independente de linguagens de programação e que armazena informações de forma facilmente legível para armazenamento e transmissão de dados.
Para usar JSONs com Python, podemos usar import json, que nos dará acesso às funções JSON. Para nossos propósitos, usaremos as seguintes funções:
json.loads(): Converte uma string JSON em dados Python; recebe um argumento, que é a string que você deseja analisar em Python.json.dumps(): Converte dados Python em um objeto string JSON; essa função pode receber até quatro (4) argumentos, sendo o primeiro o único obrigatório para usar a função. São eles:- Dados Python que você deseja converter em JSON: podem ser dos seguintes tipos de dados: dicionários, listas, tuplas, string, inteiro, float, booleano e None.
indent: número de espaços que você deseja adicionar no início de cada ponto de dado.separators: são os elementos que você deseja que apareçam entre e/ou no final dos pontos de dado.sort_keys: ordena as chaves de dicionário alfabeticamente se você estiver convertendo um tipo de arquivo dicionário.
Para começar, dirija-se à marca X dourada no posto avançado à esquerda e fique em frente à mesa com o memorando. Use a função read() para verificar as informações necessárias para confirmar o status do terminal e anotá-las. Caminhe até a marca X clara em frente ao terminal, há uma constante chamada transmission; use json.dumps() para formatá-la como JSON para que possamos convertê-la, assim: transmission = json.dumps(transmission).
Crie um dicionário chamado load e armazene o valor de json.loads() com a constante transmission como argumento. Isso irá converter o JSON em Python para que suas informações possam ser facilmente acessadas. Use a função speak() com as chaves descritas no memorando, utilizando o dicionário load que você criou. Por exemplo: player.speak(load["system"]); faça isso para todas as chaves.
Após verificar as informações no terminal, caminhe em direção à estação, entre e dirija-se à marca X clara sobre o tapete verde. Verifique o memorando usando a função read(), confira e anote os valores; no editor há um dicionário pré-escrito chamado profile, preencha os valores ausentes com as informações do memorando.
Caminhe até a marca X escura sobre o tapete verde, fique em frente ao terminal e crie uma variável chamada transfer e armazene o valor de json.dumps(), adicionando o dicionário profile como único argumento. Assim, convertemos o dicionário em um objeto string JSON. Use a função pré-escrita display() e passe o JSON transfer para armazenar os dados no terminal.
Caminhe até a marca X escura sobre o tapete vermelho e use a função read() para verificar os dados já inseridos no terminal. Os dados não estão apresentados em um formato adequado; para armazenar corretamente as informações, é necessário armazená-las e formatá-las em JSON. Os dados estão armazenados em uma constante de dicionário chamada red_data; crie uma variável chamada red_storage e armazene o valor da função json.dumps().
Para formatar os dados, adicione os seguintes argumentos à função: adicione red_data para converter a constante em JSON, adicione indent e defina-o como 5 para formatar o texto, adicione separators e coloque (\"- \", \" = \" ) para adicionar esses símbolos ao final de cada linha. A linha deve ficar assim: red_storage = json.dumps(red_data, indent=5, separators=("- ", " = ")). Use a função pré-escrita display() e passe a string JSON red_storage para armazenar e exibir os dados formatados.
Caminhe até a marca X escura sobre o tapete azul, fique em frente ao terminal e use a função read(); assim como antes, os dados não estão armazenados corretamente e precisam ser formatados, mas também ordenados. Os dados estão armazenados em uma constante chamada blue_data; crie uma variável chamada blue_storage e armazene o valor da função json.dumps().
Para os argumentos: adicione blue_data para converter a constante em JSON, adicione indent e defina-o como 4 para formatar o texto, adicione separators e coloque (\".0\", \" = \" ) para adicionar esses símbolos ao final de cada linha. Além disso, adicione o argumento sort_keys como argumento final e defina-o como True, assim: sort_keys=True. Use a função pré-escrita display() e forneça a string JSON blue_storage para armazenar e exibir os dados ordenados e concluir o nível.