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