Convertir JSON a diccionario en Python

Hemank Mehtani 22 octubre 2021
Convertir JSON a diccionario en Python

JSON es la notación de objetos de JavaScript y se utiliza para almacenar y transferir datos. El lenguaje de programación Python admite JSON a través de un paquete de biblioteca incorporado llamado json. Su formato es muy similar a un diccionario o una lista en Python.

En este tutorial, convertiremos una cadena JSON en un diccionario en Python.

La función json.load() se utiliza para analizar la cadena JSON. El tipo final devuelto por esta función depende del tipo de datos JSON que está leyendo. Dondequiera que se encuentre un corchete, lee los datos como una lista. Cuando se encuentra una llave, el tipo final está en un diccionario.

Vea el código a continuación.

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"])

Producción :

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

Observe el formato de los datos JSON en el ejemplo anterior. Está encerrado entre llaves. Es por eso que la salida final está en forma de diccionario. También hemos utilizado las claves para recorrer el diccionario y acceder a valores individuales.

Sin embargo, si los datos están entre corchetes, la función json.loads() leerá los datos en una lista. Podemos seleccionar el elemento del diccionario de la lista.

Por ejemplo,

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])

Producción :

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

Observe el ligero cambio en los datos JSON. El tipo final es una lista. Por eso extraemos el primer elemento, que es un diccionario. De manera similar, podemos usar las claves individuales para recorrer el diccionario y acceder a diferentes valores.

Artículo relacionado - Python JSON

Artículo relacionado - Python Dictionary