JSON
JSON é texto. Um dicionário guarda nomes e valores dentro do programa, mas ainda não é JSON. O dumps transforma esse dicionário em uma linha de texto. Esta página não abre arquivo e não monta caminho.
import json
lamp = {"color": "blue", "watts": 7}
text = json.dumps(lamp)
print(text)
A tela mostra {"color": "blue", "watts": 7}. O color e o blue ficam entre aspas duplas. O watts é um número, então o 7 não tem aspas. O espaço depois dos dois-pontos e o espaço depois da vírgula fazem parte desse mesmo texto. O text é uma string. Nenhum arquivo é criado. Neste programa não há open nem Path.
import json
text = '{"color": "blue", "watts": 7}'
lamp = json.loads(text)
print(lamp["color"])
print(lamp["watts"])
A tela mostra blue e, depois, 7. O loads lê o texto JSON e monta o dicionário de novo. O lamp["color"] é a palavra blue, sem as aspas. O lamp["watts"] é o número 7, não a palavra 7. Nenhum arquivo é lido: o texto já estava na variável.
📊 dumps e loads
| Chamada | Você começa com | Você recebe de volta |
|---|---|---|
| json.dumps | um dicionário | uma linha de texto JSON, e nenhum arquivo é escrito |
| json.loads | texto JSON | um dicionário, e nenhum arquivo é lido |
Se o texto não for JSON de verdade, o loads para. O nome dessa parada é JSONDecodeError. {color: blue} não é JSON, porque os nomes e o blue não têm aspas duplas. Essa linha não está nos programas desta página. O None não entra no lugar dela, e o programa não continua.
A próxima página é a tabela CSV. Esta página só converte o dicionário em texto e o texto de volta em dicionário.
O texto e o dicionário de novo
O dumps mostra {"color": "blue", "watts": 7}. Depois o loads mostra blue e 7. O 7 é um número. Uma linha quebrada para com JSONDecodeError. Nenhum arquivo é escrito nem lido. A próxima página é a tabela CSV.
🧠 Teste Seu Conhecimento
Teste Seu Conhecimento
Desafie-se com este questionário interativo e veja o quão bem você entende o tópico
📝 Instruções
- Leia cada pergunta cuidadosamente
- Selecione a melhor resposta para cada pergunta
- Você pode refazer o quiz quantas vezes quiser
- Seu progresso será mostrado no topo