Parser e validatore Python JSON

Scopri come leggere, convalidare, modificare e serializzare JSON in Python. Padroneggia la libreria json integrata con esempi realistici.

Prova nell'editor

Panoramica

JSON (JavaScript Object Notation) è il formato standard per lo scambio di dati sul web. Python fornisce un potente modulo integrato denominato "json" che traduce le stringhe JSON in dizionari Python e viceversa.

Il modulo espone due serie principali di operazioni: "loads" e "dumps" per gestire direttamente le stringhe JSON e "load" e "dump" per scrivere o leggere i dati direttamente dai flussi di file.

Quando si lavora con JSON, la gestione degli errori è fondamentale. Python solleva un `json.JSONDecodeError` se la sintassi della stringa è interrotta, il che è essenziale da rilevare quando si consumano payload dalle API pubbliche.

Codice e output di esecuzione

Uno script che dimostra la convalida delle stringhe JSON, l'analisi dict, le modifiche e la stampa gradevole.

json_demo.py
Prova nell'editor
import json

raw_json = """
{
    "status": "success",
    "data": {
        "user_id": 9042,
        "username": "coder_xyz",
        "roles": ["admin", "developer"],
        "verified": true
    }
}
"""

try:
    # Parsing JSON string into Python dict
    data = json.loads(raw_json)
    print("--- JSON Decoded Successfully ---")
    print(f"Username: {data['data']['username']}")
    print(f"Is Admin: {'admin' in data['data']['roles']}")
    
    # Mutating Python dict
    data['data']['verified'] = False
    data['data']['last_login'] = "2026-05-25"
    
    # Serializing dict back to formatted JSON
    pretty_json = json.dumps(data, indent=4)
    print("\n--- Modified JSON String ---")
    print(pretty_json)
    
except json.JSONDecodeError as e:
    print(f"Invalid JSON Format: {e}")
Uscita terminale
--- JSON Decoded Successfully ---
Username: coder_xyz
Is Admin: True

--- Modified JSON String ---
{
    "status": "success",
    "data": {
        "user_id": 9042,
        "username": "coder_xyz",
        "roles": [
            "admin",
            "developer"
        ],
        "verified": false,
        "last_login": "2026-05-25"
    }
}

Implementazione passo dopo passo

  • Lettura delle configurazioni dell'applicazione e dei file delle credenziali
  • Analisi delle risposte dagli endpoint API REST
  • Salvataggio di stati o livelli del programma nelle utilità desktop

Domande frequenti

Qual è la differenza tra dump e dump in Python?

"dumps" serializza un oggetto in un formato stringa JSON, mentre "dump" scrive il flusso JSON serializzato direttamente in un oggetto file scrivibile.

In che modo Python gestisce i valori null JSON?

Il decodificatore "json" di Python mappa automaticamente JSON "null" su "None", "true" e "false" su "True" e "False" e gli array su elenchi.

Argomenti correlati