جیسون (JSON) چیست؟ — به زبان ساده
برنامه نویسی json جیسون، آیا با فناوریهای مختلف در زمینه برنامهنویسی وب آشنایی دارید؟ دانش HTML برای هر کاری فراتر از فعالیتهای ساده در وب مانند مرور صفحات و ارسال مطالب در انجمنها کاملاً ضروری است. با این حال موضوعات پیشرفتهتری مانند CSS، آژاکس و جیسون نیز وجود دارند.
چه قصد داشته باشید یک توسعهدهنده وب شوید یا نه، در هر حال دستکم شناخت این که جیسون چیست، چرا مهم است و چرا مدتها است که در سراسر وب مورد استفاده قرار میگیرد، ایده خوبی محسوب میشود.
جیسون چیست؟
جیسون معادل اختصاری عبارت JavaScript Object Notation به معنی «نمادگذاری اشیا در جاوا اسکریپت» است. جیسون یک قالب استاندارد باز است که امکان تبادل دادهها در وب با استفاده از جفتهای خصوصیت-کلید را ممکن ساخته است. این توضیح ممکن است تا حدودی پیچیده به نظر بیاید؛ پس در ادامه آن را اندکی بیشتر توضیح میدهیم.
فرض کنید که شخصی یک بالون دارد و شما آن را میخواهید. یکی از روشهای ارسال بالون این است که فرد دیگر عملاً آن را بستهبندی کند و از طریق پست برای شما ارسال نماید. اما یک روش دیگر آن است که فرد خصوصیات بالون خود را برای شما توضیح دهد تا شما بتوانید همان بالون را بدون دسترسی عملی فیزیکی به آن، به طور دقیق بازسازی نمایید.
بالون آن فرد میتواند خصوصیاتی از قبیل جنس: پلاستیک، رنگ: قرمز، قطر: 25 سانتیمتری، گاز: هلیوم داشته باشد. این چهار جفت خصوصیت: کلید برای این که بتوانید بالون را تجسم کنید کافی هستند.
جیسون نیز در زمان ارسال دادهها بر روی اینترنت به همین ترتیب عمل میکند.
- مقاله پیشنهادی: برنامه نویسی چیست ؟ — از کاربرد تا یادگیری به زبان ساده
مزیت جیسون چیست؟
برنامه نویسی json جیسون
جیسون نخستین قالبی نیست که از جفتهای خصوصیت-کلید برای تبادل دادهها بر روی اینترنت استفاده میکند. فناوریهای مختلفی در این زمینه وجود دارند که ممکن است حتی برخی از آنها مانند XML را نیز بشناسید. جیسون و ایکسامال تقریباً به روش مشابهی عمل میکنند. پس چرا باید جیسون را بر ایکسامال ترجیح بدهیم؟
در وب امروز بارگذاری asynchronous (غیر همزمان و یا در مواردی نامتقارن نامیده میشود) دادهها بسیار مهم است. به بیان دیگر صفحههای وب میخواهند قادر باشند تا دادهها را بدون نیاز به بارگذاری مجدد کل صفحه به کاربر ارسال نمایند. نتیجه چنین امکانی، ایجاد تجربه مرور روانتر و مطلوبتر برای کاربر است. جیسون برای ارسال و دریافت غیر همزمان دادهها عالی است، زیرا ساده است و استفاده از آن آسان است.
اما ایکسامال نیز همین کار را انجام میدهد! پس چرا برخی افراد جیسون را به آن ترجیح میدهند؟
یکی از پاسخهای ممکن به این سؤال شاید در نام جیسون نهفته باشد: نمادگذاری اشیای جاوا اسکریپت. جیسون معمولاً همراه با جاوا اسکریپت شناسایی میشود که یکی از رایجترین زبانهای برنامهنویسی دنیا است. از آنجا که جیسون زیرمجموعهای از جاوا اسکریپت است، برای کسانی که جاوا اسکریپت را میدانند نیاز به یادگیری موارد زیادی در زمان استفاده از جیسون وجود نخواهد داشت.
دلیل دیگر برای این محبوبیت جیسون آن است که خوانایی آن بالاتر از ایکسامال است. البته وقتی برای مدتی برای با ایکسامال کار کنید، استفاده از آن را نیز آسان خواهید یافت؛ اما نگاهی گذرا به فایل ایکسامال کاربر را با انبوهی از تگها و موارد توضیحی روبرو میکند. در مقابل جیسون تمیزتر است و افراد مبتدی آن راحتتر درک میکنند. از طرف دیگر با انواع دادههای مقدماتی خود تا حدودی انعطافپذیری بیشتری ارائه میکند.
ظاهر جیسون چگونه است؟
جیسون تنها یک سری از جفتهای خصوصیت-کلید است که میتوان در صورت لزوم آنها را به صورت تو در تو نوشت. برای مثال اگر دادههای ما در مورد یک شخص باشند، این شخص را میتوان به وسیله دادههای جیسون زیر نمایش داد:
هر خط با یک خصوصیت آغاز میشود و با علامت دو نقطه (:) ادامه مییابد، سپس مقدار خصوصیت ذکر میشود. این مقدار همان طور که در مورد خصوصیت شماره تلفن در مثال فوق مشاهده میکنید، میتواند یک آرایه باشد. همچنین مقدار یک خصوصیت همان طور که در مورد خصوصیت آدرس در مثال فوق میبینید، میتواند خود جفتهایی دیگر از خصوصیت-کلید باشد. این حالت یک شیء نامیده میشود.
برای مقایسه در ادامه همان دادهها با استفاده از زبان XML تنظیم شدهاند:
نتیجهگیری
جیسون تنها یک روش برای نمایش اشیای داده در زمان ارسال آنها بر روی اینترنت است. این استاندارد جایگزینی برای XML محسوب میشود و بومی جاوا اسکریپت است و به همین دلیل تا این حد محبوب و استفاده از آن گسترده است. رایجترین استفاده از جیسون در زمان واکشی دادهها از وب سرورها بنا به تقاضا است.
امیدواریم با مطالعه این راهنما درک بهتری از جیسون و شیوه استفاده از آن در برنامهنویسی وب یافته باشید. اگر این نوشته مورد توجه واقع شده است، پیشنهاد میکنیم موارد زیر را نیز مطالعه نمایید:
برنامه نویسی json جیسون