Junior
Quali sono le differenze tra le funzioni json.dumps e json.dump, così come json.loads e json.load?
sobes.tech AI
Risposta dell'AI
json.dumps (la s alla fine significa string) converte un oggetto Python in una stringa in formato JSON.
json.dump converte un oggetto Python in una stringa in formato JSON e la scrive in un oggetto simile a un file (ad esempio, un file) nel percorso specificato.
import json
dati = {'name': 'Alice', 'age': 30}
# json.dumps
stringa_json = json.dumps(dati, indent=4) # Converte l'oggetto in una stringa
print(stringa_json)
# json.dump
with open('output.json', 'w') as f:
json.dump(dati, f, indent=4) # Scrive l'oggetto in un file
json.loads (di nuovo, la s significa stringa) converte una stringa in formato JSON di nuovo in un oggetto Python.
json.load legge dati da un oggetto simile a un file (ad esempio, un file) in formato JSON e li converte di nuovo in un oggetto Python.
import json
stringa_json = '{"name": "Bob", "age": 25}'
# json.loads
oggetto_python_da_stringa = json.loads(stringa_json) # Converte la stringa in oggetto
print(oggetto_python_da_stringa)
# json.load
with open('input.json', 'r') as f:
oggetto_python_da_filtro = json.load(f) # Legge dal file e converte
print(oggetto_python_da_filtro)
Tabella riassuntiva delle differenze:
| Funzione | Dati di input | Dati di output | Scopo principale |
|---|---|---|---|
json.dumps |
Oggetto Python | Stringa (formato JSON) | Conversione di un oggetto in una stringa per trasmissione/archiviazione |
json.dump |
Oggetto Python | Scrittura in oggetto file | Conversione di un oggetto e scrittura in un file |
json.loads |
Stringa in formato JSON | Oggetto Python | Analizzare la stringa e convertirla in un oggetto |
json.load |
Oggetto file | Oggetto Python | Lettura da un file e conversione in un oggetto |