Convertir JSON en dictionnaire en Python

Hemank Mehtani 22 octobre 2021
Convertir JSON en dictionnaire en Python

JSON est JavaScript Object Notation et est utilisé pour stocker et transférer des données. Le langage de programmation Python prend en charge JSON via un package de bibliothèque intégré appelé json. Son format est très similaire à un dictionnaire ou une liste en Python.

Dans ce tutoriel, nous allons convertir une chaîne JSON en dictionnaire en Python.

La fonction json.load() est utilisée pour analyser la chaîne JSON. Le type final renvoyé par cette fonction dépend du type de données JSON qu’elle lit. Partout où un crochet est rencontré, il lit les données sous forme de liste. Lorsqu’une accolade est rencontrée, le type final se trouve dans un dictionnaire.

Voir le code ci-dessous.

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

Production:

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

Notez le format des données JSON dans l’exemple ci-dessus. Il est entouré d’accolades. C’est pourquoi la sortie finale est sous la forme du dictionnaire. Nous avons également utilisé les clés pour parcourir le dictionnaire et accéder aux valeurs individuelles.

Cependant, si les données sont entre crochets, la fonction json.loads() lira les données dans une liste. Nous pouvons sélectionner l’élément du dictionnaire dans la liste.

Par exemple,

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

Production:

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

Notez le léger changement dans les données JSON. Le type final est une liste. C’est pourquoi nous extrayons le premier élément, qui est un dictionnaire. Nous pouvons également utiliser les clés individuelles pour parcourir le dictionnaire et accéder à différentes valeurs.

Article connexe - Python JSON

Article connexe - Python Dictionary