
جیسون چیست؟
جیسون معادل اختصاری عبارت JavaScript Object Notation به معنی «نمادگذاری اشیا در جاوا اسکریپت» است. جیسون یک قالب استاندارد باز است که امکان تبادل دادهها در وب با استفاده از جفتهای خصوصیت-کلید را ممکن ساخته است. این توضیح ممکن است تا حدودی پیچیده به نظر بیاید؛ پس در ادامه آن را اندکی بیشتر توضیح میدهیم.
فرض کنید که شخصی یک بالون دارد و شما آن را میخواهید. یکی از روشهای ارسال بالون این است که فرد دیگر عملاً آن را بستهبندی کند و از طریق پست برای شما ارسال نماید. اما یک روش دیگر آن است که فرد خصوصیات بالون خود را برای شما توضیح دهد تا شما بتوانید همان بالون را بدون دسترسی عملی فیزیکی به آن، به طور دقیق بازسازی نمایید.
بالون آن فرد میتواند خصوصیاتی از قبیل جنس: پلاستیک، رنگ: قرمز، قطر: 25 سانتیمتری، گاز: هلیوم داشته باشد. این چهار جفت خصوصیت: کلید برای این که بتوانید بالون را تجسم کنید کافی هستند.
جیسون نیز در زمان ارسال دادهها بر روی اینترنت به همین ترتیب عمل میکند.
مزیت جیسون چیست؟
یسون نخستین قالبی نیست که از جفتهای خصوصیت-کلید برای تبادل دادهها بر روی اینترنت استفاده میکند. فناوریهای مختلفی در این زمینه وجود دارند که ممکن است حتی برخی از آنها مانند XML را نیز بشناسید. جیسون و ایکسامال تقریباً به روش مشابهی عمل میکنند. پس چرا باید جیسون را بر ایکسامال ترجیح بدهیم؟
در وب امروز بارگذاری asynchronous (غیر همزمان و یا در مواردی نامتقارن نامیده میشود) دادهها بسیار مهم است. به بیان دیگر صفحههای وب میخواهند قادر باشند تا دادهها را بدون نیاز به بارگذاری مجدد کل صفحه به کاربر ارسال نمایند. نتیجه چنین امکانی، ایجاد تجربه مرور روانتر و مطلوبتر برای کاربر است. جیسون برای ارسال و دریافت غیر همزمان دادهها عالی است، زیرا ساده است و استفاده از آن آسان است.
اما ایکسامال نیز همین کار را انجام میدهد! پس چرا برخی افراد جیسون را به آن ترجیح میدهند؟
یکی از پاسخهای ممکن به این سؤال شاید در نام جیسون نهفته باشد: نمادگذاری اشیای جاوا اسکریپت. جیسون معمولاً همراه با جاوا اسکریپت شناسایی میشود که یکی از رایجترین زبانهای برنامهنویسی دنیا است. از آنجا که جیسون زیرمجموعهای از جاوا اسکریپت است، برای کسانی که جاوا اسکریپت را میدانند نیاز به یادگیری موارد زیادی در زمان استفاده از جیسون وجود نخواهد داشت.
دلیل دیگر برای این محبوبیت جیسون آن است که خوانایی آن بالاتر از ایکسامال است. البته وقتی برای مدتی برای با ایکسامال کار کنید، استفاده از آن را نیز آسان خواهید یافت؛ اما نگاهی گذرا به فایل ایکسامال کاربر را با انبوهی از تگها و موارد توضیحی روبرو میکند. در مقابل جیسون تمیزتر است و افراد مبتدی آن راحتتر درک میکنند. از طرف دیگر با انواع دادههای مقدماتی خود تا حدودی انعطافپذیری بیشتری ارائه میکند.
ظاهر جیسون چگونه است؟
جیسون تنها یک سری از جفتهای خصوصیت-کلید است که میتوان در صورت لزوم آنها را به صورت تو در تو نوشت. برای مثال اگر دادههای ما در مورد یک شخص باشند، این شخص را میتوان به وسیله دادههای جیسون زیر نمایش داد:
{
"employees":[
{"firstName":"John", "lastName":"Doe"},
{"firstName":"Anna", "lastName":"Smith"},
{"firstName":"Peter", "lastName":"Jones"}
]
}
هر خط با یک خصوصیت آغاز میشود و با علامت دو نقطه (:) ادامه مییابد، سپس مقدار خصوصیت ذکر میشود. این مقدار همان طور که در مورد خصوصیت شماره تلفن در مثال فوق مشاهده میکنید، میتواند یک آرایه باشد. همچنین مقدار یک خصوصیت همان طور که در مورد خصوصیت آدرس در مثال فوق میبینید، میتواند خود جفتهایی دیگر از خصوصیت-کلید باشد. این حالت یک شیء نامیده میشود.
1400/12/01