JSON چیست

جی‌سان یا JSON (JavaScript Object Notation) یک فرمت تبادل داده سبک (lightweight) می‌باشد که خواندن و نوشتن آن برای انسان و تولید و پارس کردن آن برای ماشین‌ها آسان است. این زبان بر مبنای یک زیر مجموعه از زبان برنامه‌نویسی JavaScript ، استاندارد ECMA-262 ویرایش سوم - دسامبر 1999‌، است. JSON بصورت متنی (text) بوده و کاملاً مستقل از زبان بکار رفته است، اما از قوانینی استفاده می‌کند که برای برنامه‌نویسان زبان‌های خانواده C (شامل C ، C++ ، Java ، JavaScript ، Perl ، Python ، و بسیاری زبان‌های دیگر) آشنا می‌باشد.‌ این خصوصیات JSON را یک زبان تبادل‌داده‌ای ایده‌آل کرده است.

JSON بر اساس دو ساختار ساخته شده:

  • یک مجموعه از زوج‌های نام/ارزش (name/value). در زبان‌های گوناگون این ساختار یک شیء (object) ، ساختار (struct) ، دیکشنری (dictionary) ، جدول مخلوط (hash table) ، لیست کلیددار (keyed list) یا آرایه انجمنی (associative array) شناخته می‌شود. • یک لیست منظم از ارزش‌ها. در بسیاری از زبان‌ها این ساختار یک آرایه ( array) ، بردار (vector) ، لیست (list) ، یا دنباله (sequence) شناخته می‌شود.
  • اینها ساختار داده‌های عمومی هستند. همه زبان‌های برنامه‌نویسی مدرن یکی از آنها را پشتیبانی می‌کنند. منطقی است که یک فرمت داده قابل استفاده توسط زبان‌های برنامه‌نویسی مختلف بر مبنای این ساختارها باشد.

در JSON از فرم‌های زیر استفاده می‌شود:

یک شیء (object) یک مجموعه نامنظم از زوج‌های نام/ارزش است. یک object‌ با { (آکولاد باز) شروع، و با } (آکولاد بسته) تمام می‌شود. در انتهای هر نام یک : (دو نقطه) قرار می‌گیرد و زوج‌های نام/ارزش با , (ویرگول) جدا می‌شوند.

یک array یک مجموعه (collection) منظم از ارزش‌ > (value) ها است. یک array با [ (براکت باز) شروع، و با > ] (براکت بسته) تمام می‌شود. ارزش‌ها توسط , (ویرگول) از هم جدا می‌شوند.

یک value می‌تواند یک رشته (string) داخل " ، یا یک عدد ، یا true یا false یا null ، یا یک object یا یک array باشد. این ساختارها می‌توانند تو در تو باشند.


یک string یک مجموعه از صفر یا بیشتر کاراکترهای یونیکد (Unicode) است، که با استفاده از backslash escapes داخل " قرار گرفته. یک کاراکتر به صورت یک رشته تک کاراکتری نمایش داده می‌شود. رشته بسیار شبیه رشته در C یا Java است.


عدد (number) بسیار شبیه عدد در C یا Java است، به استثنا اینکه از فرمت‌های دهدهی و هگزادسیمال استفاده نمی‌شود.


فضای خالی (Whitespace) ما بین هر جفت از نشانه‌ها (token) می‌تواند قرار گیرد. به جز تعدادی از جزییات رمزگذاری‌ها (encoding detail) که زبان را شرح می‌دهند.

برای یادگیری و مطالعه بیشتر می توانید به لینک زیر مراجعه نمایید.

http://www.w3schools.com/json/default.asp