ویدیو آشنایی با ساختار داده جیسون (json)

امیرحسین بیگدلو May 2025

در این ویدیو با جیسان (json) آشنا خواهید شد. json مخفف JavaScript Object Notation است و یک روش پرکاربرد برای انتقال داده بین برنامه ها و سیستم ها میباشد. ساختار داده json ابتدا برای جاوااسکریپت ساخته شد اما حالا مستقل شده و میتوانید در زبان های دیگر از آن استفاده کنید. برنامه نویس آمریکایی Douglas Crockford در اوایل سال 2000 نوع داده جیسون را معرفی کرد.

ویدیو پیشنهادی: کار با فایل های json در پایتون

# ساختار داده json چیست؟

ساختار داده json یک فرمت مبتنی بر متن برای ذخیره و انتقال داده ها است به شکلی که برای انسان قابل خواندن و برای ماشین قابل تجزیه باشد. اگرچه json اولین بار برای جاوااسکریپت ساخته شد اما به یک ساختار داده بسیار توانا تبدیل شده است که تبادل اطلاعات را در پلتفرم ها و زبان های برنامه نویسی مختلف ساده میکند. اگر در زمینه توسعه وب، تجزیه تحلیل داده‌ها یا مهندسی نرم افزار مشغول هستید مطمئنا یادگیری جیسون برای شما مفید خواهد بود.

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

از آنجایی که json مستقل از زبان برنامه نویسی است برای تبادل اطلاعات بین پلتفرم ها ایده آل است. به عنوان مثال، برنامه ای که با جاوا نوشته شده است میتواند داده های json را به برنامه ای که با پایتون نوشته شده است ارسال کند. یا یک برنامه تلفن همراه که با جاوا اسکریپت نوشته شده است می تواند از JSON برای برقراری ارتباط با یک سرور back-end نوشته شده به زبان PHP استفاده کند.

 

# مثال از جیسان

فرمت json داده ها را به شکل سلسله مراتبی نمایش میدهد و هر بخش از اطلاعات را به شکل key-value ذخیره میکند. داده های json در یک آکولاد قرار گرفته و هر جفت از اطلاعات با کاما از یکدیگر جدا میشوند. به عنوان مثال، JSON زیر اطلاعات تماس یک شخص را نشان می دهد:

{

  "name": "Jane Smith",
  
"age": 35,
  
"city": "San Francisco",
  
"phone": "014158889275",
  
"email": "janesmith@sample.com"

}


در مثال بالا name یک کلید و jane smith یک مقدار در داده json میباشد.

ویدیو پیشنهادی: زبان yaml چیست؟

# انواع داده در json

در زمینه توسعه نرم افزار، شما میتوانید از انواع داده مختلفی برای ذخیره اطلاعات استفاده کنید. هر نوع داده مجموعه ای از ویژگی ها و رفتارهای خاص خود را دارد. json نیز از انواع داده string, number, object, array, boolean, null پشتیبانی میکند. در این قسمت از هر نوع داده یک مثال میزنیم:

برای ذخیره رشته یا string در json باید از علامت دو نقل قول استفاده کنید:

{"name":"John"}

برای اعداد میتوانید آنها را به شکل صحیح یا اعشاری در json ذخیره کنید:

{"age":30}

شما میتوانید از نوع داده object برای ایجاد کردن json تودرتو استفاده کنید. دقت کنید که آبجکت ها از همان سینتکس json استفاده میکنند:

{
  "employee":{"name":"John", "age":30, "city":"New York"}
} 

برای ذخیره چند مقدار در یک کلید json میتوانید از نوع داده آرایه استفاده کنید:

{
  "employees":["John", "Anna", "Peter"]
} 

میتوانید از نوع داده boolean برای ذخیره مقدار true یا false استفاده کنید:

{"sale":true}

در نهایت میتوانید برای خالی گذاشتن مقدار یک کلید از null استفاده کنید:

{"middlename":null}

نکته ای که باید دقت کنید این است که شما نمیتوانید از json برای ذخیره تابع(function) یا تاریخ(date) استفاده کنید.

ویدیو پینشهادی: آموزش زبان Markdown

# موارد استفاده از json

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

1. جیسان برای انتقال داده ها بین سیستم ها و زبان های برنامه نویسی مختلف ایده آل است.

2. میتوانید از json برای ذخیره داده های موقت استفاده کنید. مثلا داده هایی که کاربر در فرم ارسال کرده است را میتوانید داخل json ذخیره کنید.

3. از json برای ذخیره و مدیریت پیکربندی های برنامه نیز استفاده میشود. برای مثال، فایل‌های پیکربندی نوشته شده در قالب JSON می‌توانند حاوی اطلاعات ضروری مانند جزئیات اتصال پایگاه داده، کلیدهای API یا تنظیمات برگزیده کاربر باشند.

 

# تفاوت JSON و XML

باید بدانید که json تنها روش برای دخیره و انتقال داده های نیست. روش های دیگری مانند xml و yaml وجود دارد که میتوانید از آنها نیز استفاده کنید. xml نیز یک روش متنی مستقل از نرم افزار و سخت افزار است که برای انتقال و ذخیره داده ها بسیار پرکاربرد است. هر دو جیسون و xml داده ها را به شکل سلسله مراتبی ذخیره کرده و به راحتی میتوانند توسط انسان خوانده شوند. همانند جیسون شما میتوانید از xml در زبان های برنامه نویسی مختلف استفاده کنید.

با وجود تمام شباهت ها، json و xml تفاوت هایی نیز دارند. json کوتاه تر و برای خواندن و نوشتن سریعتر از xml است. در جیسان میتوانید از آرایه استفاده کنید اما این امکان در xml وجود ندارد. در نهایت، پیشنهاد میشود که از json به جای xml استفاده کنید زیرا کار کردن با xml کندتر از json است.

در مثال پایین دو قطعه از json و xml را میبینید که هر دو اطلاعات مشابهی را نمایش میدهند:

#----- JSON Example
{"employees":[
  { "firstName":"John", "lastName":"Doe" },
  { "firstName":"Anna", "lastName":"Smith" },
  { "firstName":"Peter", "lastName":"Jones" }
]}

#----- XML Example
<employees>
  <employee>
    <firstName>John</firstName> <lastName>Doe</lastName>
  </employee>
  <employee>
    <firstName>Anna</firstName> <lastName>Smith</lastName>
  </employee>
  <employee>
    <firstName>Peter</firstName> <lastName>Jones</lastName>
  </employee>
</employees>

 

# محدودیت های جیسون

در زمان کار با فرمت جیسان باید به محدودیت های این ساختار داده توجه کنید.

  • مقادیری که در جیسان ذخیره میکنید میتواند یکی از انواع داده string, number, object, array, boolean, null باشد. مقادیر ذخیره شده نمیتوانند تابع یا تاریخ یا undefined یا Map باشد.
     
  • رشته ها باید در علامت نقل قول دوتایی قرار گیرند و نمیتوان از نقل قول تکی استفاده کرد.
     
  • اعداد باید به صورت اعشاری نوشته شوند.
     
  • هر ویژگی باید به شکل key:value ذخیره شود. داده های خاص مانند متدهای جاوااسکریپت مجاز نیستند.
     
  • کامنت ها در جیسان مجاز نیستند.

ویدیوهای مشابه



آموزش متد __bool__ در پایتون
امیرحسین بیگدلو

ارسال نظر


محمد

2 سال قبل پاسخ به نظر

عالی خیلی ساده و روان توضیح دادین

ارسال نظر



باب

4 سال قبل پاسخ به نظر

درود ، عالی عزیزم

این ویدیو رو از سر کنجکاوی نگاه کردم ، با اینکه JSON رو بلد بودم

ولی چقدر خوب و خلاصه گفتی 3>

ارسال نظر



مونگارد