Sobes.tech
Junior

Kokios yra skirtumai tarp funkcijų json.dumps ir json.dump, taip pat json.loads ir json.load?

sobes.tech AI

Atsakymas iš AI

json.dumps (pabaigoje s reiškia string) paverčia Python objektą į JSON formato eilutę.

json.dump paverčia Python objektą į JSON formato eilutę ir įrašo ją į failo tipo objektą (pavyzdžiui, failą) nurodytu keliu.

import json

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

# json.dumps
json_string = json.dumps(data, indent=4) # objekto pavertimas eilute
print(json_string)

# json.dump
with open('output.json', 'w') as f:
    json.dump(data, f, indent=4) # objekto įrašymas į failą

json.loads (vėlgi, s reiškia string) paverčia JSON formato eilutę atgal į Python objektą.

json.load skaito duomenis iš failo tipo objekto (pavyzdžiui, failo) JSON formatu ir paverčia juos atgal į Python objektą.

import json

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

# json.loads
python_object_from_string = json.loads(json_string) # eilutės pavertimas į objektą
print(python_object_from_string)

# json.load
with open('input.json', 'r') as f:
    python_object_from_file = json.load(f) # skaito iš failo ir paverčia
print(python_object_from_file)

Santrauka apie skirtumus:

Funkcija Įvesties duomenys Išvesties duomenys Pagrindinis tikslas
json.dumps Python objektas Eilutė (JSON formatas) Objektą paversti eilute, skirta perdavimui/įrašymui
json.dump Python objektas Rašymas į failo tipo objektą Objektą paversti ir įrašyti į failą
json.loads Eilutė (JSON formatas) Python objektas Analizuoti eilutę ir paversti ją į objektą
json.load Failo tipo objektas Python objektas Skaityti iš failo ir paversti į objektą