מילון המונחים של architech

מה זה ג'ייסון?

שתפו:

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

 

מה זה JSON ולמה הוא משמש?

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

המבנה הזהה של JSON בכל שפות המחשב מאפשר העברת מידע בין תוכנות ויישומים ללא צורך לבצע התאמה לשפה בה כתובה התוכנה. מסיבה זו, רוב ה-APIs הזמינים כיום לשימוש והעברת מידע משתמשים בג'ייסון. אפליקציות לדוגמה? בבקשה: מפות גוגל, מערכות תשלומים מקוונות, אפליקציות מזג אוויר ועוד מגוון מערכות ואפליקציות שימושיות ברמה היומיומית.

מבנה נתונים JSON מכיל מידע המאוחסן ומועבר בצורה של צמדים: 'מפתח: ערך' (value:key) מה שמקל מאוד על השימוש בו.

 

איך כותבים ג'ייסון? כללי תחביר

נכון שמבני נתונים של ג'ייסון דומים לאובייקטים של ג'אווה סקריפט, אבל כללי התחביר לכתיבת ג'ייסון שונים בהחלט. כתיבת ג'ייסון מבחינה תחבירית נוקשה יותר וכוללת דגשים רבים. הרציונל מאחורי הכתיבה המדויקת מתייחס לתפקיד של ג'ייסון כמרכז להעברה וקבלת מידע משרתים שונים ואליהם – בכל שפות התכנות, מה שדורש דיוק מקסימלי על מנת שכל API יוכל לקרוא את המידע ולקבל את הפקודות שנשלחו לו.

להלן הכללים התחביריים בכתיבת קוד ג'ייסון:

  1. שמות השדות יוקפו במירכאות כפולות.
  2. הערכים המבטאים גם מחרוזות – יוקפו במירכאות כפולות.
  3. ערכי המספרים לא יחויבו במירכאות כפולות.
  4. סוגים בוליאניים (true, false) ייכתבו באותיות קטנות וללא מירכאות כפולות.
  5. ערכים חסרים או ריקים יסומנו כ-null.
  6. ג'ייסון יוכל להכיל מערכים בתוך ערך של שדה.
  7. ג'ייסון יוכל להכיל אובייקטים, ובתוך אובייקטים ניתן להכניס אובייקטים נוספים במספר רמות היררכיה.

 

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

 

מה זה JSONP ואיך הוא מסייע להעביר מידע בין אתרי אינטרנט בכתובת שונות?

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

 

איך מחלצים מידע משדות ג'ייסון?

חילוץ המידע משדה ג'ייסון ניתן לביצוע במספר דרכים: בעזרת פעולת SELECT נוכל לחלץ את הקוד וליצור שדה רגיל הניתן לקריאה כל שפת תכנות. זו גישה מיידית לחילוץ מידע מהיר אבל היא עלולה לסבך ולסרבל את הקוד החדש שייכתב ב-SQL. שיטות נוספות ואפקטיביות יותר לכתיבת קוד פשוט יותר הן יצירת שאילתא חיצונית, חילוץ בגישת טבלאות זמניות או בגישת טבלאות קבועות. הבחירה בשיטה הנכונה תיעשה בהתאם לאופי מסמך הג'ייסון, ליכולת של אנשי הפיתוח לקבל הרשאת גישה לדאטה בייס והאם מנהלי הדאטה בייס הגדירו אזור סנדבוקס ליצירת טבלאות ללא הרשאת גישה.

 

מהם היתרונות של שימוש בג'ייסון?

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

בנוסף, ג'ייסון הוא פורמט קל משקל ביחס לפורמט XML. ג'ייסון כפורמט קטן יעיל יותר מפורמטים אחרים לצורך העברת נתונים ברשת.

כיום, סטנדרט התקשורת בין שרת ללקוח באמצעות API הוא באמצעות JSON. רוב הווב-סרווייס משתמשים בג'ייסון כפורמט תקשורת אופטימלי מה שמקל על ביצוע אינטגרציה בין מערכות.

יתרונות אלו ונוספים הופכים את השימוש בג'ייסון לבחירה הנפוצה בפיתוח והטמעת מערכות תוכנה הנדרשות לאינטגרציה ביניהן.

 

ניהול כמות גדולה של נתונים

פורמט זה נחשב לקל מאוד לשימוש (הן ביחס לתוכנה והן ביחס ליוצרי קבצי ג'ייסון שלא נדרשים ליצור קוד כדי להשתמש בו). ונעשה בו שימוש עיקרי בניהול כמויות גדולות של נתונים בצורה מקוונת ובמצב אופליין. קוד ג'ייסון שוקל מעט ולכן תומך במהירות אתר ואינו מכביד על האחסון יחד עם זה שהוא קל מאוד להבנה ולוולידציה.

 

לסיכום

ג'ייסון הינו מבנה נתונים שאינו תלוי שפה המהווה פורמט נפוץ ביותר להעברת מידע בין שרתים ובין שרת ללקוח. ג'ייסון כפורמט העברת מידע משתמש במבנה הפשוט של אובייקט ג'אווה סקריפט כדי לאחסן בו מידע בצורה שכל שפת תכנות תוכל לקרוא בקלות. בהתאם ליכולת זו, רוב ה-APIs כיום משתמשים בפורמט ג'ייסון כדי לקבל ולהעביר נתונים שונים. המידע אודות העצמים ייעשה באופן של זוגות (מפתח : ערך) כמבני מידע קלים ונוחים לכתיבה וקריאה.

 

שאלות ותשובות בנושא מה זה ג'ייסון?

 

מה זה ג'ייסון?
מה זה ג'ייסון?

השאירו פרטים

צרו איתנו קשר
מוזמנים להתקשר או לשלוח הודעה

Get notified about new articles

צרו איתנו קשר

Get notified about new articles

בונה אתרים?

להשיג בידול בעולם בניית האתרים ב-2024 זו משימה שקל ליפול בה. עם ארכיטק אתם מציעים ללקוח שדרוג משמעותי של השירות: לא רק בנייה של אתר אלה מעטפת שלמה שכוללת הטמעת כלי מעקב, אוטומציות לייעול תהליכים והגדלת מכירות, מערכת ניהול שמתממשקת לאתר ועוד! הלקוחות שלכם יעופו על זה.

בשנת 2024 בניית אתרים או בניית אתרים+אוטומציה
 עושה את ההבדל בין בונה אתרים 'ככה' לבונה אתרים מבוקש.