Converter JSON em dicionário em Python

Hemank Mehtani 22 outubro 2021
Converter JSON em dicionário em Python

JSON é JavaScript Object Notation e é usado para armazenar e transferir dados. A linguagem de programação Python suporta JSON por meio de um pacote de biblioteca integrado chamado json. Seu formato é muito semelhante a um dicionário ou lista em Python.

Neste tutorial, converteremos uma string JSON em um dicionário em Python.

A função json.load() é usada para analisar a string JSON. O tipo final retornado por esta função depende do tipo de dados JSON que está lendo. Sempre que um colchete é encontrado, ele lê os dados como uma lista. Quando uma chave é encontrada, o tipo final está em um dicionário.

Veja o código abaixo.

import json

j_data = """
          {
              "0":{
                  "Name": "Nick",
                  "Age": "22"
              },
              "1":{
                  "Name": "Hemank",
                  "Age": "21"
              },
              "2":{
                  "Name": "Sam",
                  "Age":"25"
              }
          }
    """

d = json.loads(j_data)
print(d)
print(d["0"]["Name"])
print(d["1"]["Age"])

Produção:

{'0': {'Name': 'Nick', 'Age': '22'}, '1': {'Name': 'Hemank', 'Age': '21'}, '2': {'Name': 'Sam', 'Age': '25'}}
Nick
21

Observe o formato dos dados JSON no exemplo acima. Ele está entre chaves. É por isso que o resultado final está na forma de dicionário. Também usamos as chaves para percorrer o dicionário e acessar valores individuais.

No entanto, se os dados estiverem entre colchetes, a função json.loads() lerá os dados em uma lista. Podemos selecionar o elemento do dicionário da lista.

Por exemplo,

import json

j_data = """
          [{
              "0":{
                  "Name": "Nick",
                  "Age": "22"
              },
              "1":{
                  "Name": "Hemank",
                  "Age": "21"
              },
              "2":{
                  "Name": "Sam",
                  "Age":"25"
              }
          }
          ]
    """

d = json.loads(j_data)
print(d[0])

Produção:

{'0': {'Name': 'Nick', 'Age': '22'}, '1': {'Name': 'Hemank', 'Age': '21'}, '2': {'Name': 'Sam', 'Age': '25'}}

Observe a ligeira mudança nos dados JSON. O tipo final é uma lista. É por isso que extraímos o primeiro elemento, que é um dicionário. Da mesma forma, podemos usar as chaves individuais para percorrer o dicionário e acessar diferentes valores.

Artigo relacionado - Python JSON

Artigo relacionado - Python Dictionary