Coding for KidsCoding for Kids
שלבים יצירתייםאתגריםמדריך למורים
הצבע על תכונות
קורס פיתוח מתקדם בפייתון
פרק
>
רמה

מודולי סריאליזציה
מודול JSON

מטרה

גש לתחנת השירות וודא שהנתונים מאוחסנים כראוי על ידי שימוש במודול JSON לעיצוב קבצים.

יש תחנת שירות מדרום לבניין התוספת שבאזור הבנייה החדש, כל האזור הזה עתיד להיות מפותח מחדש לצורך גידול יבולים. התחנה כוללת שורה של טרמינלים שמעבדים נתונים עבור הפיתוח החדש, אנחנו יכולים לעבוד על כתיבת הנתונים באופן ידני, אך זה ייקח הרבה זמן. עבור תהליך הטיפול בנתונים ניתן להשתמש ב-JSON שפירושו JavaScript Object Notation, פורמט נתונים זה אינו תלוי בשפות תכנות ואוחסן מידע בצורה קריאה וקלה לאחסון והעברת נתונים.

על מנת להשתמש ב-JSON עם Python נוכל להשתמש ב-import json אשר יאפשר לנו גישה לפונקציות JSON, עבור המטרות שלנו נשתמש בפונקציות הבאות:

  • json.loads(): ממירה מחרוזת JSON לנתוני Python, מקבלת ארגומנט אחד, שהוא המחרוזת שברצונך להמיר ל-Python.
  • json.dumps(): ממירה נתוני Python למחרוזת JSON, פונקציה זו יכולה לקבל עד ארבעה (4) ארגומנטים, כאשר רק הראשון הוא חובה. הם הם כדלקמן:
    1. נתוני Python אותם ברצונך להמיר ל-JSON: הם יכולים להיות מהסוגים הבאים: מילונים, רשימות, טאפלים, מחרוזות, מספרים, פלאטים, בוליאנים וסוג הנתונים 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. השתמש בפונקציה 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 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 blue_storage לאחסון והצגת הנתונים המסודרים והשלמת הרמה.

ספר קוד