Coding for KidsCoding for Kids
Δημιουργικά ΕπίπεδαΠροκλήσειςΟδηγός Εκπαιδευτικού
Ψηφίστε για λειτουργίες
Προχωρημένο Μάθημα Ανάπτυξης σε Python
Κεφάλαιο
>
Επίπεδο

Μονάδες σειριοποίησης
Μονάδα JSON

Στόχος

Πηγαίνετε στον σταθμό εξυπηρέτησης και βεβαιωθείτε ότι τα δεδομένα αποθηκεύονται σωστά χρησιμοποιώντας το module JSON για τη μορφοποίηση αρχείων.

Υπάρχει ένας σταθμός εξυπηρέτησης νότια του κτιρίου της προσθήκης στην περιοχή των νέων κατασκευών, και ολόκληρη αυτή η περιοχή πρόκειται να αναπτυχθεί ξανά για την καλλιέργεια φυτών. Ο σταθμός διαθέτει μια ποικιλία τερματικών που επεξεργάζονται δεδομένα για τη νέα ανάπτυξη. Μπορούμε να γράψουμε τα δεδομένα χειροκίνητα, αλλά αυτό θα πάρει πολύ χρόνο. Για τη διαδικασία χειρισμού των δεδομένων, μπορούμε να χρησιμοποιήσουμε το JSON, που σημαίνει JavaScript Object Notation. Αυτή είναι μια μορφή δεδομένων που είναι ανεξάρτητη από τις γλώσσες προγραμματισμού και αποθηκεύει πληροφορίες με τρόπο εύκολα κατανοητό για την αποθήκευση και μετάδοση δεδομένων.

Για να χρησιμοποιήσουμε το JSON με Python μπορούμε να χρησιμοποιήσουμε το import json που θα μας δώσει πρόσβαση στις συναρτήσεις JSON. Για τους σκοπούς μας θα χρησιμοποιήσουμε τις ακόλουθες συναρτήσεις:

  • json.loads(): Μετατρέπει ένα JSON string σε δεδομένα Python. Δέχεται ένα όρισμα, αυτό το string που θέλετε να αναλύσετε σε Python.
  • json.dumps(): Μετατρέπει δεδομένα Python σε αντικείμενο JSON string. Αυτή η συνάρτηση μπορεί να δεχτεί έως και τέσσερα (4) ορίσματα, όπου μόνο το πρώτο είναι απαραίτητο για τη χρήση της συνάρτησης. Αυτά είναι τα εξής:
    1. Τα δεδομένα Python που θέλετε να μετατρέψετε σε JSON: μπορούν να είναι από τους παρακάτω τύπους δεδομένων: λεξικά, λίστες, πλειάδες, συμβολοσειρές, ακέραιοι, δεκαδικοί, boolean και τύποι None.
    2. indent: Ο αριθμός των κενών που θα θέλατε να προσθέσετε στην αρχή της εγγραφής δεδομένων.
    3. separators: Αυτά είναι τα στοιχεία που θέλετε να εμφανίζονται μεταξύ και/ή στο τέλος των σημείων δεδομένων.
    4. sort_keys: Ταξινομεί τα κλειδιά του λεξικού αλφαβητικά, εάν μετατρέπετε ένα αρχείο λεξικού.

Για να ξεκινήσετε, κατευθυνθείτε προς το χρυσό σημάδι X στον προέδρου στα αριστερά και στραφείτε προς το γραφείο με το σημείωμα. Χρησιμοποιήστε τη συνάρτηση read() για να επαληθεύσετε τις πληροφορίες που απαιτούνται για να επιβεβαιώσετε την κατάσταση του τερματικού και σημειώστε τις. Περπατήστε προς το φωτεινό σημάδι X μπροστά από το τερματικό. Υπάρχει μια σταθερή μεταβλητή που ονομάζεται transmission. Χρησιμοποιήστε τη json.dumps() για να τη μορφοποιήσετε ως JSON ώστε να μπορέσουμε να την μετατρέψουμε, ως εξής: transmission = json.dumps(transmission).

Δημιουργήστε ένα λεξικό με το όνομα load και αποθηκεύστε την τιμή της json.loads() με το σταθερό transmission ως όρισμα. Αυτό θα μετατρέψει το JSON σε Python, ώστε οι πληροφορίες να είναι εύκολα προσβάσιμες. Χρησιμοποιήστε τη συνάρτηση speak() με τα κλειδιά που αναφέρονται στο σημείωμα, χρησιμοποιώντας το λεξικό load που δημιουργήσατε. Για παράδειγμα: player.speak(load["system"]). Εφαρμόστε το ίδιο για όλα τα κλειδιά.

Μετά την επαλήθευση των πληροφοριών στο τερματικό, περπατήστε προς τον σταθμό, μπείτε μέσα και κατευθυνθείτε προς το φωτεινό σημάδι X πάνω από το πράσινο χαλί. Ελέγξτε το σημείωμα χρησιμοποιώντας τη συνάρτηση read(), επιβεβαιώστε και σημειώστε τις τιμές. Στον επεξεργαστή υπάρχει ένα προ-γραμμένο λεξικό με το όνομα profile. Συμπληρώστε τις ελλιπείς τιμές με τις πληροφορίες από το σημείωμα.

Περπατήστε προς το σκοτεινό σημάδι X πάνω από το πράσινο χαλί, στραφείτε προς το τερματικό και δημιουργήστε μια μεταβλητή με το όνομα transfer. Αποθηκεύστε την τιμή της json.dumps() και προσθέστε το λεξικό profile ως το μοναδικό όρισμα. Κάνοντας αυτό μετατρέπετε το λεξικό σε αντικείμενο JSON string. Χρησιμοποιήστε τη προ-γραμμένη συνάρτηση display() και προσθέστε το JSON transfer για να αποθηκεύσετε τα δεδομένα στο τερματικό.

Περπατήστε προς το σκοτεινό σημάδι X πάνω από το κόκκινο χαλί και χρησιμοποιήστε τη συνάρτηση read() για να επαληθεύσετε τα δεδομένα που έχουν ήδη εισαχθεί στο τερματικό. Τα δεδομένα δεν παρουσιάζονται σε σωστή μορφή. Για να αποθηκευτούν σωστά οι πληροφορίες, πρέπει να αποθηκευτούν και να μορφοποιηθούν σε JSON. Τα δεδομένα αποθηκεύονται σε μια σταθερή μεταβλητή λεξικού που ονομάζεται red_data. Δημιουργήστε μια μεταβλητή με το όνομα red_storage και αποθηκεύστε την τιμή της json.dumps().

Για να μορφοποιήσετε τα δεδομένα, προσθέστε τα ακόλουθα ορίσματα στη συνάρτηση: προσθέστε το red_data για να μετατρέψετε τη σταθερά σε JSON, προσθέστε το indent και ορίστε το σε 5 για να μορφοποιηθεί το κείμενο, προσθέστε τα separators και ορίστε τα ως ("- ", " = ") για να προστεθούν αυτά τα σύμβολα στο τέλος κάθε γραμμής. Η γραμμή θα πρέπει να μοιάζει ως εξής: red_storage = json.dumps(red_data, indent=5, separators=("- ", " = ")). Χρησιμοποιήστε τη προ-γραμμένη συνάρτηση display() και προσθέστε το JSON string red_storage για να αποθηκεύσετε και να εμφανίσετε τα μορφοποιημένα δεδομένα.

Περπατήστε προς το σκοτεινό σημάδι X πάνω από το μπλε χαλί, στραφείτε προς το τερματικό και χρησιμοποιήστε τη συνάρτηση read(). Όπως και πριν, τα δεδομένα δεν έχουν αποθηκευτεί σωστά και χρειάζονται όχι μόνο μορφοποίηση αλλά και ταξινόμηση. Τα δεδομένα αποθηκεύονται σε μια σταθερή μεταβλητή που ονομάζεται blue_data. Δημιουργήστε μια μεταβλητή με το όνομα blue_storage και αποθηκεύστε την τιμή της json.dumps().

Για τα ορίσματα: προσθέστε το blue_data για να μετατρέψετε τη σταθερά σε JSON, προσθέστε το indent και ορίστε το σε 4 για να μορφοποιηθεί το κείμενο, προσθέστε τα separators και ορίστε τα ως (".0", " = ") για να προστεθούν αυτά τα σύμβολα στο τέλος κάθε γραμμής. Επιπλέον, προσθέστε το όρισμα sort_keys ως το τελευταίο όρισμα και ορίστε το σε True, όπως αυτό: sort_keys=True. Χρησιμοποιήστε τη προ-γραμμένη συνάρτηση display() και προσθέστε το JSON string blue_storage για να αποθηκεύσετε και να εμφανίσετε τα ταξινομημένα δεδομένα και να ολοκληρώσετε το επίπεδο.

Βιβλίο Κώδικα