Come convertire il JSON in un oggetto Python

di Lorenzo Neri

Come convertire il JSON in un oggetto Python? È quello che vedremo assieme in questo articolo!

Il JSON permette di gestire in modo molto rapido, semplice e diretto diverse informazioni: permette anche di leggerle e di gestirle su diversi applicativi e linguaggi di programmazione senza troppi sforzi.

Python non è escluso da tutto questo.

Ciao mi chiamo Lorenzo Neri e sono un informatico: realizzo contenuti per aiutare le persone a padroneggiare l’arte del nuovo millennio, ovvero l’informatica!

Python, vista la sua “malleabilità”, permette di gestire in maniera molto diretta e semplice il JSON.

Ovviamente se sei qua, ti stai chiedendo come convertire il JSON in un oggetto a tutti gli effetti: scopriamolo assieme.

Un package che può tutto: json

In Python possiamo usare un package che si chiama semplicemente… json.

Questo package ci permette di convertire il JSON vero e proprio in un oggetto Python: indovina?

Gli oggetti vengono convertiti direttamente sia come dizionari sia come liste.

Non c’è bisogno di fare parsing aggiuntivo oppure conversioni: il package si occupa di tutto questo.

Ah giusto: te lo devo dire per completezza.

Il JSON può provenire da una stringa, da un file, da una richiesta HTTP delle tue API: al package non importa 😉

Loads: il metodo per convertire il JSON in un oggetto Python

Vediamo allora il metodo “loads”: è lui che ci permette di eseguire questa conversione.

Partiamo da un esempio.

Abbiamo il seguente JSON:

{
    "tags": [
      "incididunt",
      "cillum",
      "dolore"
    ],
    "friends": [
      {
        "id": 0,
        "name": "Corrine Chang"
      },
      {
        "id": 1,
        "name": "Florence Guzman"
      }
    ],
    "greeting": "Hello, Hoover Hawkins! You have 9 unread messages."
}

C’è di tutto: oggetti, stringhe, numeri, liste.

Ora, creo una variabile di tipo stringa per contenere questo JSON:

dati_json='{ "tags": [ "incididunt", "cillum", "dolore" ], "friends": [ { "id": 0, "name": "Corrine Chang" }, { "id": 1, "name": "Florence Guzman" } ], "greeting": "Hello, Hoover Hawkins! You have 9 unread messages." }'

Sì, per semplicità ho messo tutto in single line, ma ora vediamo come convertirlo in un oggetto Python a tutti gli effetti:

import json
dati_json='{ "tags": [ "incididunt", "cillum", "dolore" ], "friends": [ { "id": 0, "name": "Corrine Chang" }, { "id": 1, "name": "Florence Guzman" } ], "greeting": "Hello, Hoover Hawkins! You have 9 unread messages." }'
oggetto_python_json=json.loads(dati_json)

Ora, la conversione attuata tramite il metodo “loads”, ha reso il nostro oggetto Python un dizionario e di fatto le chiavi che c’erano nel JSON, diventano le “keys” del nostro nuovo dict.

Permettimi di mostrarti alcuni esempi in tempo reale per farti vedere come puoi sfruttare al 100% una lettura e una “rivoltatura come un calzino” a tutti gli effetti del JSON stesso:

>>> oggetto_python_json=json.loads(dati_json)
>>> oggetto_python_json['greeting']
'Hello, Hoover Hawkins! You have 9 unread messages.'
>>> oggetto_python_json['friends'][1]
{'id': 1, 'name': 'Florence Guzman'}
>>> print([tag for tag in oggetto_python_json['tags']])
['incididunt', 'cillum', 'dolore']

In altre parole, eccoti come puoi convertire del JSON in un Python object vero e proprio.

Ah ma prima di salutarti, ti invito a leggere questo mio articolo legato all’uso del JSON in Python!

Continua a scoprire di più con questi articoli!

Lascia un commento

Questo sito potrebbe fare uso di cookie e siccome l'UE mi obbliga a fartelo presente, eccoti il classico banner dove puoi decidere come gestirli. Accetta Leggi di più