Junior
Ποιες είναι οι διαφορές μεταξύ των συναρτήσεων json.dumps και json.dump, καθώς και json.loads και json.load;
sobes.tech AI
Απάντηση από AI
json.dumps (η s στο τέλος σημαίνει 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 | Ανάγνωση από αρχείο και μετατροπή σε αντικείμενο |