מושג אחד ביום (בואו נראה כמה נחזיק מעמד)
והפעם: JSON
מה זה?!?!?!
ג'ייסון זו צורת כתיבה.
אוקי. צורת כתיבה שמייצגת מידע.
ואוו – אוקי. ואז?
וככה מערכות שונות יכולות לתקשר ביניהן ולהעביר מידע כשהן צריכות.
מתי הן צריכות למשל?
נניח כתבתי אפליקציה שרוצה לדעת מה מזג האוויר.
אוקי.
אז מה, היא צריכה עכשיו לנחש לבד מה מזג האוויר? זה די מסובך.
נכון.
יופי. אז היא יכולה פשוט לפנות לשירות חיצוני שיודע מה מזג האוויר ולבקש ממנו את המידע.
נהדר.
ואיך אנו דואגים שהמידע שהיא תקבל היא תבין איך לקרוא אותו?
איך?!
המציאו צורת כתיבה מסוימת עם כללים נוקשים שמתארת מידע. ככה למשל אפשר לכתוב: "מזג האוויר הוא 42 מעלות"
אז מה? לא מספיק לכתוב "מזג האוויר הוא 42 מעלות"?
לא. כי תוכנות לא מבינות טקסט ככה כמונו (אנחנו מדברים לפני שהמציאו את ChatGPT) לכן יש צורת כתיבה אחרת שכל התוכנות יבינו.
אהה.
למשל: {"temperature":42,"type":"celsius"}
מה זה?!?!?! עכשיו איבדתי אותך.
מה שכתבתי פה זה JSON, זו צורת הכתיבה. יש פה בעצם 'אובייקט' כלומר איזשהו עצם שמכיל מספר פרטים, טמפרטורה (temperature) וסוג (type). לכל פרט כזה יש מפתח (key) וערך (value) ובמקרה הזה הטמפרטורה היא 42 והסוג הוא צלזיוס. מאוד חשוב שכאשר שירות מזג האוויר מספר למערכת שלנו מה מזג האוויר הוא גם יגיד לה שהנתון הוא מסוג צלזיוס. נכון?
נכון.
אז JSON זה בעצם מחרוזת…
מה זה?!?!?!?!?!
מחרוזת – כלומר רצף של תווים
מה זה?!?!?!?!?!?!?!!?
אה, ככה מתכנתים אומרים פשוט טקסט. במקום להגיד טקסט הם אומרים מחרוזת. כי כל טקסט הוא בעצם חיבור של הרבה תווים שלרוב הן אותיות, נכון?
נכון. אבל למה לא פשוט להגיד טקסט.
עזוב, מתכנתים הם עם מוזר.
אז מאיפה הגיעו כל האותיות האלה J-S-O-N??
אז N זה Notation כלומר סימון או צורת כתיבה.
ו – JSO??
זה ר"ת JavaScript Object כי צורת הכתיבה הזו נלקחה בהשאלה משפת JavaScript שהיא מאוד שימושית בגלל שזו השפה שבה כותבים כל מיני דברים מגניבים שקורים באתרי אינטרנט.
אה, אז זה נשמע נפוץ מאוד.
נכון, אז בעצם הרבה מתכנתים כבר רגילים לצורת הכתיבה הזו כי הם עובדים עם JavaScript.
סבבה להם.
אבל עדיין חשוב מאוד לזכור ש-JSON זה לא JavaScript Object – אלו הם דברים שונים! צריך לזכור ש-JSON הוא תמיד מחרוזת, הוא רצף תווים בלבד, וגם יש לו כללים נוקשים כמו למשל שחייבים להקיף את השמות של המפתחות Keys במרכאות כפולות, אם לא – זה פשוט לא יעבוד ולא נבין אחד את השני. לעומת זאת ב-JavaScript Object יש יותר הקלות ולא מקיפים אותם במרכאות.. יש כל מיני הבדלים.
אה אוקי. כן, לפעמים מתכנתים מתבלבלים ומתייחסים ל-JSON כאילו הוא ממש אובייקט ושוכחים שצריך לעשות לו המרה.
המרה!??!?!
כן. באמצעות פונקציה שנקראת JSON.stringify או JSON.parse או משהו דומה
מה זה??!?!
זה בעצם היכולת של JavaScript לתרגם מחרוזת JSON למידע בתוך הקוד שהיא יכולה לפרק ולהתייחס לכל חלק בנפרד. אבל נראה לי חרגנו מהנושא.
נכון.
אז בתכל'ס JSON זה פשוט שפה משותפת שבאמצעותה מערכות מעבירות מידע ביניהן.
יפה מאוד.
תודה ביי.
כתיבת תגובה