WEBA

JSON: מה זה?

פורמט טקסט להעברת נתונים בין תוכנות: סוגריים מסולסלים, מפתחות וערכים.

כשלקוח נכנס לחנות שלכם ורואה רשימת מוצרים, הדפדפן מקבל מהשרת חבילת טקסט קטנה כדי להציג את הנתונים. הטקסט הזה נראה בדרך כלל כך: {"name": "דנה", "age": 34}. זה JSON, בהיגוי ג׳ייסון, וזו הדרך שבה תוכנות מעבירות נתונים זו לזו. זה פשוט. בני אדם יכולים לקרוא אותו, מכונות מנתחות אותו בשבריר שנייה, וכל שפת תכנות יודעת לייצר ולקרוא אותו. הוא החליף את XML כמעט בכל מקום ברשת, כך שאם תפתחו את כלי המפתחים בדפדפן ותסתכלו מה האתר מקבל מהשרת, תראו את המבנה הזה.

השם הזה צץ בדרך כלל בהצעת מחיר, בחשבונית, במודעת דרושים למפתח או במייל ממתכנת שמסביר עיכוב בחיבור בין שרתים. רוב ה-API וחיבורי REST API מחזירים JSON, ומסדי נתונים כמו MongoDB אפילו שומרים בו מסמכים שלמים. לא הייתי מאשר סעיף תקציבי נפרד רק על התאמה למבנה הזה. כשמתכנת דורש תוספת שעות כי המידע מגיע בצורה הזו, אני חושד מיד שמנפחים עבודה. תבדקו שוב. כל שפה יודעת לקרוא אותו בלי שום מאמץ מיוחד או כלים יקרים.

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

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