Sobes.tech
Junior
716

Jaké jsou rozdíly mezi funkcemi json.dumps a json.dump, stejně jako json.loads a json.load?

Odpověď od AI

sobes.tech AI

json.dumps (s s na konci znamená string) převádí Python objekt na řetězec ve formátu JSON.

json.dump převádí Python objekt na řetězec ve formátu JSON a zapisuje jej do objektu podobného souboru (například souboru) na určené cestě.

import json

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

# json.dumps
json_string = json.dumps(data, indent=4) # Převádí objekt na řetězec
print(json_string)

# json.dump
with open('output.json', 'w') as f:
    json.dump(data, f, indent=4) # Zapisuje objekt do souboru

json.loads (opět, s znamená string) převádí řetězec ve formátu JSON zpět na Python objekt.

json.load načítá data ze souboru podobného objektu (například souboru) ve formátu JSON a převádí je zpět na Python objekt.

import json

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

# json.loads
python_object_from_string = json.loads(json_string) # Převádí řetězec na objekt
print(python_object_from_string)

# json.load
with open('input.json', 'r') as f:
    python_object_from_file = json.load(f) # Čte ze souboru a převádí
print(python_object_from_file)

Souhrnná tabulka rozdílů:

Funkce Vstupní data Výstupní data Hlavní účel
json.dumps Pythonovský objekt Řetězec (JSON formát) Převod objektu na řetězec pro přenos/uložení
json.dump Pythonovský objekt Zápis do souborového objektu Převod objektu a zápis do souboru
json.loads Řetězec ve formátu JSON Pythonovský objekt Analýza řetězce a převod na objekt
json.load Souborový objekt Pythonovský objekt Čtení ze souboru a převod na objekt