Sobes.tech
Junior

Koje su razlike između funkcija json.dumps i json.dump, kao i json.loads i json.load?

sobes.tech АИ

Одговор од АИ

json.dumps (s s na kraju znači string) pretvara Python objekat u niz u JSON formatu.

json.dump pretvara Python objekat u niz u JSON formatu i zapisuje ga u objekat sličan fajlu (npr. fajl) na navedenoj putanji.

import json

data = {'name': 'Alice', 'age': 30}

# json.dumps
json_string = json.dumps(data, indent=4) # Pretvara objekat u niz
print(json_string)

# json.dump
with open('output.json', 'w') as f:
    json.dump(data, f, indent=4) # Zapisuje objekat u fajl

json.loads (opet, s znači string) pretvara niz u JSON formatu nazad u Python objekat.

json.load čita podatke iz objekta sličnog fajlu (npr. fajla) u JSON formatu i pretvara ih nazad u Python objekat.

import json

json_string = '{"name": "Bob", "age": 25}'

# json.loads
python_object_from_string = json.loads(json_string) # Pretvara niz u objekat
print(python_object_from_string)

# json.load
with open('input.json', 'r') as f:
    python_object_from_file = json.load(f) # Čita iz fajla i pretvara
print(python_object_from_file)

Tabela sažetka razlika:

Funkcija Ulazni podaci Izlazni podaci Glavna svrha
json.dumps Python objekat Niz (JSON format) Pretvaranje objekta u niz za prenos/čuvanje
json.dump Python objekat Upis u fajl sličan objekat Pretvaranje objekta i zapis u fajl
json.loads Niz u JSON formatu Python objekat Analiza niza i pretvaranje u objekat
json.load Fajl sličan objekat Python objekat Čitanje iz fajla i pretvaranje u objekat