فایل JSON و کاربرد آن

برای خیلی از توسعه دهندگان و برنامه نویسان، از جمله توسعه دهندگان وب و گوشی های هوشمند، جی سون (JSON) مفهومی بسیار آشناست. اما کاربرد جی سون چیست ؟

در ابتدا باید بدانیم که جی سون چیست؟

JSON مخفف JavaScript Object Notation یا نشانه شیء جاوااسکریپت می باشد. جی سون یک فرمت فایل برای ذخیره سازی و یا انتقال فایل ها می باشد.

ثبت اطلاعات و دیتا در یک فایل جی سون بسیار ساده است. برای مثال فرض کنیم که میخواهیم داده ای تحت عنوان نام (name) را با مقدار Alireza و داده ای تحت عنوان آدرس (address) با مقدار No1 Street را در یک فایل جیسون ذخیره کنیم. تنها کاری که نیاز است انجام بدهیم ساخت یک فایل به نام data.json است. (نام data به نام دلخواه قابل تغییر است)

در فولدر یا دایرکتوری که میخواهیم فایل را ایجاد میکنیم و با یک ویرایشگر ساده مثل notepad یا تخصصی مثل visual studio code آن را باز میکنیم. تنها کافی است اطلاعات مورد نظر را به حالت جفت کلید مقدار (key value pair) و با سینتکس مشابه ذیل در آن وارد کنیم:

{
    name : "Alireza",
    address : "No1 Street"
}

فایل را ذخیره میکنیم و تمام. حال ما یک فایل جی سون داریم که دیتایی را در آن ذخیره کردیم و هرگاه که بخواهیم میتوانیم در برنامه های خود آن را بازکرده و از محتویاتش استفاده کنیم.


کاربرد جی سون

حال که میدانیم جی سون چیست میتوانیم به کاربرد آن بپردازیم.

همانطور که در تعریف هم گفتیم جی سون برای ذخیره سازی و یا انتقال دیتا استفاده می شود.

ذخیره دیتا

در بالا یاد گرفتیم که چگونه دیتا را در یک فایل جی سون ذخیره کنیم. سیستم های مدیریت پایگاه داده ای (DBMS) nosql مانند MongoDB برای ذخیره دیتا در دیتابیس خود از فایل های جی سون استفاده میکنند که در بالا طرز کار آن را دیدیم.
در تصویر پایین، میتوانیم یک فایل جی سون از سیستم مدیریت پایگاه داده مونگو را ببینیم:

نمونه ای از دیتای ذخیره شده در MongoDB
نمونه ای از دیتای ذخیره شده در MongoDB

همانطور که مشاهده میکنید این فایل کمی پیچیده تر از مثالی بود که در بالا دیدیم. نگران نباشید. طبیعتا ذخیره دیتای یک سیستم بزرگ تر مانند یک وبسایت کمی بزرگ تر و شلوغ تر است.

در فایل بالا به نظر می رسد که که این فایل دیتای یک پست از یک سایت می باشد. همانطور که میبینید میتوانیم به عنوان مقدار به یک کلید که ساختار جی سون دیگر وارد کنیم. درست مانند کلید نویسنده (author) که به عنوان مقدار جی سونی دیگر در خود دارد. و یا میتوانیم به عنوان مقدار یک کلید بیشتر از یک مقدار وارد کنیم. مانند کلید tags که دو رشته مختلف را در خود دارد و یا کلید comments که میتواند چند جی سون دیگر را به عنوان کامنت های مختلف بپذیرد. برای وارد کردن چند مقدار به یک کلید از کروشه ([]) استفاده میشود.

انتقال دیتا
یکی دیگر از کاربرد های جی سون که شاید مهم ترین آن نیز باشد، انتقال دیتا می باشد. برای مثال کار کردن با API ها را در نظر بگیرید. هنگامی که از طریق یک اپلیکیشن آنلاین، درخواستی به سرور ایجاد می شود، سرور با توجه به درخواست ارسال شده، دیتای درخواست شده را در قالب یک فایل جی سون برای اپلیکیشن پس می فرستد. یا به عنوان مثالی دیگر در ربات های تلگرامی، دیتای ارسال شده و دریافت شده تماما در قالب جی سون است. در تصویر زیر فایل جی سون دریافتی تلگرام برای ارسال پیام /start در یک ربات توسط کاربر را مشاهده میکنید.

به این صورت یک برنامه نویس ربات تلگرام میتواند متوجه شود پیام ارسالی در ربات چه چیز بوده است و یا یوزرنیم کاربری که پیام را ارسال کرده چه بوده است و با آن ها کار کند.

البته در حوزه انتقال دیتا در اینترنت فایل ها و ساختار های دیگری مانند XML نیز کاربرد زیادی دارند که در مقاله ای دیگر به آن خواهیم پرداخت.