Sobes.tech
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