Konvertieren von JSON in ein Dictionary in Python

Hemank Mehtani 22 Oktober 2021
Konvertieren von JSON in ein Dictionary in Python

JSON ist JavaScript Object Notation und wird zum Speichern und Übertragen von Daten verwendet. Die Programmiersprache Python unterstützt JSON durch ein integriertes Bibliothekspaket namens json. Sein Format ist einem Dictionary oder einer Liste in Python sehr ähnlich.

In diesem Tutorial konvertieren wir einen JSON-String in ein Dictionary in Python.

Die Funktion json.load() wird verwendet, um den JSON-String zu parsen. Der von dieser Funktion zurückgegebene endgültige Typ hängt vom Typ der gelesenen JSON-Daten ab. Wo immer eine eckige Klammer angetroffen wird, werden die Daten als Liste gelesen. Wenn eine geschweifte Klammer gefunden wird, befindet sich der letzte Typ in einem Dictionary.

Siehe den Code unten.

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

Ausgabe:

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

Beachten Sie das Format der JSON-Daten im obigen Beispiel. Es ist in geschweifte Klammern eingeschlossen. Aus diesem Grund erfolgt die endgültige Ausgabe in Form des Dictionaries. Wir haben die Schlüssel auch verwendet, um das Dictionary zu durchsuchen und auf einzelne Werte zuzugreifen.

Stehen die Daten jedoch in eckigen Klammern, liest die Funktion json.loads() die Daten in einer Liste. Wir können das Dictionary element aus der Liste auswählen.

Zum Beispiel,

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

Ausgabe:

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

Beachten Sie die leichte Änderung in den JSON-Daten. Der letzte Typ ist eine Liste. Deshalb extrahieren wir das erste Element, das ein Dictionary ist. Auf ähnliche Weise können wir die einzelnen Schlüssel verwenden, um das Dictionary zu durchsuchen und auf verschiedene Werte zuzugreifen.

Verwandter Artikel - Python JSON

Verwandter Artikel - Python Dictionary