Analise o código abaixo, escrito em Python 3.7, que transfor...
import json my_json_string = """ { "livros": [ { "id":"01", "edicao": "1", "preco": 100.0 }, { "id":"02", "edicao": "2", "preco": 150.0 } ] } """ to_python = json.loads(my_json_string)
print(type(to_python)) print(type(to_python["livros"])) print(type(to_python["livros"][0]["preco"]))
Qual a saída correta após a execução desse programa?
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa Correta: D
O código Python apresentado na questão lida com a conversão de uma string que contém um documento JSON para um objeto Python utilizando a biblioteca json. O JSON é um formato leve para troca de dados, fácil de ler para humanos e fácil de interpretar para máquinas. No contexto de Python, um JSON pode ser convertido para uma estrutura de dicionário (dict) para objetos JSON, listas (list) para arrays JSON e diversos outros tipos compatíveis do Python para os tipos de dados do JSON.
No exemplo fornecido:
- O primeiro print exibe o tipo do objeto retornado pela função json.loads(), que é um dicionário Python, representado pela classe dict.
- O segundo print exibe o tipo dos elementos correspondentes à chave "livros" dentro do dicionário, que é uma lista, representada pela classe list no Python.
- O terceiro print exibe o tipo do elemento "preco" no primeiro objeto da lista "livros". Como o valor é um número decimal, ele é representado pela classe float no Python.
Portanto, a saída correta do programa é:
<class 'dict'> <class 'list'> <class 'float'>
Essa saída corresponde à Alternativa D e demonstra o mapeamento direto entre os tipos de dados JSON e os tipos do Python. O conhecimento necessário para resolver essa questão inclui compreender a estrutura e os tipos de dados de JSON, além de saber como o Python representa esses tipos de dados nativamente ao deserializar uma string JSON.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
objetc __dict___
Um dicionário ou outro objeto de mapeamento usado para armazenar um objeto (gravável) Atributos.
Questão muito chata por conta da falta de indentação do código (uma realidade nas últimas provas de concurso), matei ela pela questão onde 'to-python["livros"]' indica um <class 'list'> , sendo D a única alternativa disponível.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo