جی‌سان

پسوند(های) نام پرونده
.json
نوع رسانهٔ اینترنتی
application/json
کد فایل‌بندیTEXT
گونهتبادل داده
نیاکانجاوا اسکریپت
استاندارد بین‌المللیSTD 90/RFC 8259, ECMA-404, ISO/IEC 21778:2017
آزاد؟آری
وبگاه

نشانه‌گذاری شیء جاوااسکریپت (به انگلیسی: JavaScript Object Notation) با کوته‌نوشت جی‌سان (به انگلیسی: JSON، ‎/ˈsən/‎ یا ‎/ˈˌsɒn/‎)، یک استاندارد باز متنیِ سبک برای انتقال داده‌ها است به گونه‌ای که برای انسان نیز خوانا باشد. جی‌سان از زبان اسکریپت‌نویسی جاوااسکریپت در نشان‌دادن ساختمان داده‌های ساده و آرایه‌های انجمنی مشتق شده‌است. با وجود ارتباط عمیقی که با جاوااسکریپت دارد، جی‌سان مستقل از زبان است و مفسرهایش تقریباً برای هر زبانی موجود هستند.

قالب جی‌سان در ابتدا توسط داگلاس کراکفورد مشخص و در RFC4627 شرح داده شده‌است. نوع رسانهٔ اینترنتی رسمی آن، application/json و پسوند نام پرونده‌های جی‌سان ‎.json است.

جی‌سان بیشتر برای سریالایز و انتقال ساختمان داده‌ها از طریق ارتباطی شبکه‌ای به‌کار گرفته می‌شود. بیشترین استفادهٔ آن برای انتقال داده‌ها بین یک کارساز و یک برنامهٔ وبی به‌عنوان جایگزینی برای اکس‌ام‌ال است.[۱]

نوع‌های داده‌ای، دستور زبان و نمونه

[ویرایش]

نوع‌های داده‌ای سادهٔ جی‌سان عبارت‌اند از:[۱]

  • اعداد (صحیح یا حقیقی)
  • رشته (یونی‌کدهایی که با «"» محصور شده...)
  • مقدار بولی (true یا false، درست یا نادرست)
  • آرایه (دنبالهٔ دارای ترتیبی از مقدارها، جدا شده با ویرگول (,) و محصور شده با «[» و «]»)
  • شیء (مجموعه‌ای از جفت‌های کلید مقداری، جدا شده با ویرگول (,) و محصور شده با «{» و «}»، کلید می‌بایست که یک رشته باشد)
  • تهی (به انگلیسی: null)

نمونهٔ زیر یک شیء در جی‌سان است که یک شخص را شرح می‌دهد. در این شیء نوع داده‌ای متنی برای نام و نام خانوادگی، نوع داده‌ای عددی برای سن، یک شیء برای ذخیرهٔ نشانی فرد و یک فهرست (یک آرایه) برای ذخیرهٔ شماره‌های تلفن شخص است:[۱]

{     "firstName": "John",     "lastName": "Smith",     "age": 25,     "address": {         "streetAddress": "21 2nd Street",         "city": "New York",         "state": "NY",         "postalCode": "10021"     },     "phoneNumber": [         {             "type": "home",             "number": "212 555-1234"         },         {             "type": "fax",             "number": "646 555-4567"         }     ] } 

هردوی این اکس‌ام‌ال‌ها اطلاعات مشابهی با نمونهٔ جی‌سون با شیوه‌های مختلف دارا هستند:

<person>   <firstName>John</firstName>   <lastName>Smith</lastName>   <age>25</age>   <address>     <streetAddress>21 2nd Street</streetAddress>     <city>New York</city>     <state>NY</state>     <postalCode>10021</postalCode>   </address>   <phoneNumbers>     <phoneNumber type="home">212 555-1234</phoneNumber>     <phoneNumber type="fax">646 555-4567</phoneNumber>   </phoneNumbers> </person> 
<person firstName="John" lastName="Smith" age="25">   <address streetAddress="21 2nd Street" city="New York" state="NY" postalCode="10021"/>   <phoneNumbers>      <phoneNumber type="home" number="212 555-1234"/>      <phoneNumber type="fax"  number="646 555-4567"/>   </phoneNumbers> </person> 

منابع

[ویرایش]