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 |