Sobes.tech
Junior

Ποιες είναι οι διαφορές μεταξύ των συναρτήσεων json.dumps και json.dump, καθώς και json.loads και json.load;

sobes.tech AI

Απάντηση από AI

json.dumpss στο τέλος σημαίνει string) μετατρέπει ένα αντικείμενο Python σε μια συμβολοσειρά σε μορφή JSON.

json.dump μετατρέπει ένα αντικείμενο Python σε μια συμβολοσειρά σε μορφή JSON και την γράφει σε ένα αντικείμενο παρόμοιο με αρχείο (π.χ., ένα αρχείο) στη συγκεκριμένη διαδρομή.

import json

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

# json.dumps
json_string = json.dumps(data, indent=4) # Μετατρέπει το αντικείμενο σε συμβολοσειρά
print(json_string)

# json.dump
with open('output.json', 'w') as f:
    json.dump(data, f, indent=4) # Γράφει το αντικείμενο σε αρχείο

json.loads (ξανά, το s σημαίνει string) μετατρέπει μια συμβολοσειρά σε μορφή JSON πίσω σε ένα αντικείμενο Python.

json.load διαβάζει δεδομένα από ένα αντικείμενο παρόμοιο με αρχείο (π.χ., ένα αρχείο) σε μορφή JSON και τα μετατρέπει πίσω σε ένα αντικείμενο Python.

import json

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

# json.loads
python_object_from_string = json.loads(json_string) # Μετατρέπει τη συμβολοσειρά σε αντικείμενο
print(python_object_from_string)

# json.load
with open('input.json', 'r') as f:
    python_object_from_file = json.load(f) # Διαβάζει από το αρχείο και μετατρέπει
print(python_object_from_file)

Πίνακας σύνοψης διαφορών:

Συνάρτηση Είσοδοι δεδομένων Έξοδοι δεδομένων Κύριος σκοπός
json.dumps Αντικείμενο Python Συμβολοσειρά (μορφή JSON) Μετατροπή αντικειμένου σε συμβολοσειρά για μετάδοση/αποθήκευση
json.dump Αντικείμενο Python Εγγραφή σε αντικείμενο αρχείου Μετατροπή αντικειμένου και εγγραφή σε αρχείο
json.loads Συμβολοσειρά σε μορφή JSON Αντικείμενο Python Ανάλυση της συμβολοσειράς και μετατροπή σε αντικείμενο
json.load Αντικείμενο αρχείου Αντικείμενο Python Ανάγνωση από αρχείο και μετατροπή σε αντικείμενο