-
Bem mais estruturados
que os arquivos texto
-
e que os arquivos CSV,
são os arquivos JSON.
-
Os arquivos JSON são um tipo
especial de arquivos criados
-
para organizar os dados
de maneira a termos chave e valor.
-
E você, já ouviu falar disso
quando você aprendeu
-
sobre dicionário,
é muito parecido.
-
Só que eles estão em um arquivo
separado dentro do seu file system.
-
Vamos dar uma olhadinha aqui
no que seria um arquivo JSON.
-
Um arquivo JSON é esse
arquivo estruturado aqui,
-
onde temos
chave e valor.
-
E ele fica bem bonitinho
quando usamos uma ferramenta
-
para verificar esse arquivo,
por exemplo,
-
o Viewer gratuito
on-line do JSON.
-
Nós olhamos aqui.
-
E esse texto aqui estruturado
passa a ser tratado assim,
-
como uma estrutura
de árvores,
-
e ele pode ser enxergado
desse jeito aqui,
-
como uma estrutura
também de chave e valor.
-
Se quisermos converter
isso dentro do Python, ou seja,
-
um dicionário para um JSON,
vamos usar uma biblioteca especializada,
-
chamada biblioteca JSON.
-
Para isso nós vamos
usar alguns métodos.
-
Um deles é o dumps,
que transforma
-
um dicionário
em um objeto JSON.
-
Vamos dar uma olhada aqui no código.
Nós fazemos o import.
-
Nós temos esse dicionário
estruturado de contatos.
-
Vamos fazer aqui uma conversão
desse dicionário para um JSON.
-
Podemos até colocar aqui
o tipo dos contatos.
-
"print(type(contatos))"
para verificar o tipo.
-
E podemos fazer essa string
convertida também,
-
fazendo
o "print(type(final))".
-
Se rodarmos
esse arquivo aqui,
-
vamos ver aqui
nos nossos resultados
-
que no primeiro é uma classe
dicionário e depois ele passa
-
a ser uma classe string,
porque o JSON, no fim das contas,
-
nada mais
é do que uma string.
-
Até agora fizemos isso na memória
do Python, mas se quisermos,
-
podemos transformar isso
realmente em um arquivo.
-
Vamos usar
o mesmo princípio
-
das tratativas anteriores,
vamos abrir o arquivo
-
e vamos gravar esse
arquivo nesse formato.
-
Vamos alterar aqui
o nosso código
-
para termos uma indentação
mais bonitinha no nosso JSON,
-
usando
a palavra-chave "indent".
-
Depois vamos abrir o arquivo
no formato de escrita,
-
criando um arquivo
chamado "agenda.json".
-
E vamos fazer
a escrita com o "write".
-
Tranquilamente.
-
Não vamos nos esquecer
de fazer a boa prática
-
e fazer o "close"
desse arquivo.
-
Rodando aqui.
-
Opa, esqueci aqui de um "n",
é "indent", de indentação, né?
-
E agora vamos rodar
aqui de novo.
-
Pronto, vimos aqui bonitinho ele mais
estruturado, com indentação igual a 4.
-
E vamos olhar aqui
esse arquivo de agenda
-
que ele criou aqui
no nosso diretório raiz do projeto.
-
Pronto.
-
Ele grava aqui como
nós pedimos para ele gravar,
-
com a indentação de 4.
-
Se copiarmos esse carinha aqui
e colarmos lá no nosso viewer,
-
vamos ver o mesmo
resultado aqui.
-
E assim como gravamos, podemos
ler um arquivo JSON também.
-
E ler e transformá-lo
em um dicionário.
-
Olhando aqui
o nosso exemplo,
-
a primeira coisa
é abrir o arquivo
-
como fazemos em todos os tipos
de tratativas com arquivos.
-
Nós estamos usando aqui
o "read" comum.
-
Aqui nós lemos o arquivo
com o método "loads".
-
Então o dumps escreve
e transforma em JSON
-
e o loads carrega
e transforma em dicionário.
-
É o inverso.
-
A partir do momento
que já utilizamos isso,
-
já colocamos
dentro de uma variável,
-
podemos fechar o arquivo
sem problema nenhum.
-
Não vamos mais trabalhar com arquivo
e depois vamos imprimir
-
mostrando que o tipo do arquivo
agora é do tipo dicionário.
-
E vamos imprimir
o que lemos do nosso arquivo.
-
Então, rodando aqui.
-
Olhe só o tipo de objeto,
"agenda" é do tipo dicionário.
-
E quando imprimimos aqui,
estamos imprimindo um dicionário.
-
O dicionário e o JSON,
trabalham muito bem juntos.
-
O JSON é um texto
que é gravado em um arquivo
-
nesse formato
mais estruturado.
-
E o dicionário é uma estrutura
dentro do Python.
-
Eles se conversam muito bem
através de loads e dumps.
-
A sugestão é que você use esse
parzinho mágico, JSON e dicionário,
-
para fazer
um bom trabalho.