On this page
מערך שיעור: JSON — System.Text.Json
משך: 1.5 שעות אקדמיות (68 דקות).
מטרת השיעור: הסטודנטים ידעו להמיר אובייקטים ל-JSON ובחזרה, ולשלב זאת עם שמירה לקובץ.
בסוף השיעור הסטודנטים צריכים: להשתמש ב-Serialize/Deserialize<T> על מחלקה מותאמת אישית, לשמור ולטעון JSON מקובץ, ולהסביר למה JSON עדיף על פורמט מומצא.
דגש קריטי: קשרו במפורש ל-REST APIs שיופיעו ביחידת ASP.NET Core — JSON הוא לא “עוד פורמט”, הוא שפת התקשורת הסטנדרטית של כל שרת web מודרני.
מהלך השיעור
| חלק בשיעור | משך | הערות ודגשים |
|---|---|---|
| פתיחה וחיבור | 5 דקות | הראו ניסיון לשמור Student עם פורמט מומצא (“דנה,25”) — מה עם פסיק בשם? |
| הבעיה: פורמט מומצא שברירי | 10 דקות | הדגישו מבנים מקוננים (List בתוך אובייקט) שקשה לייצג ידנית |
| הרעיון: Serialize | 15 דקות | JsonSerializer.Serialize על Student |
| הרעיון: Deserialize | 15 דקות | חזרה לאובייקט, הדגישו |
| שילוב עם File I/O | 10 דקות | שמירה/טעינה לקובץ .json |
| תרגול מודרך | 13 דקות | תרגיל 1+2 |
דגשים להעברת השיעור
- קשרו JSON קדימה ל-ASP.NET Core (“כל בקשה ותשובה מ-API תהיה ב-JSON — זה בדיוק מה שאתם רואים כאן”) — עוגן חשוב להמשך הקורס.
- הראו את פלט ה-JSON עצמו (
Console.WriteLine(json)) לפני שהוא נטען חזרה — חשוב שסטודנטים “יראו” את הפורמט הטקסטואלי בעצמם, לא רק יסמכו על שהוא “עובד מאחורי הקלעים”. WriteIndented = trueשווה להראות בקצרה — JSON קריא לבני אדם בפיתוח, קומפקטי (ברירת המחדל) לתקשורת אמיתית.
מושגים
JSON — פורמט טקסט סטנדרטי לייצוג נתונים מובנים. Serialize — אובייקט C# → מחרוזת JSON. Deserialize — מחרוזת JSON → אובייקט C#.
תרגיל חשיבה
שאלת פתיחה: “אם הייתם צריכים לשלוח נתוני Student (כולל רשימת ציונים) לשרת בחברה אחרת, שכתובה ב-Python לא ב-C# — איך הייתם עושים את זה בלי JSON?”
מהלך: הובילו לתובנה: בלי פורמט סטנדרטי, שתי השפות היו צריכות “להסכים” על פורמט מומצא ולתחזק קוד פרסור מותאם בשני הצדדים. JSON פותר את זה בדיוק כי הוא לא תלוי-שפה — Python, JavaScript, C#, Java — כולם יודעים לקרוא ולכתוב אותו זהה.
מה המרצה מראה בסוף: הראו את קובץ ה-JSON שנוצר (student.json) בעורך טקסט רגיל — הדגישו שהוא קריא לבני אדם וגם למכונה, לא “קוד בינארי מוצפן”. אם אפשר, הראו גם דוגמה קצרה איך אותו JSON נראה כשנטען בפייתון/JavaScript (json.loads/JSON.parse) כדי לחזק את “אותו פורמט, כל שפה”.