جی‌سان

نشانه‌گذاری شیء جاوااسکریپت  با کوته‌نوشت جی‌سان ، یک استاندارد باز متنیِ سبک برای انتقال داده‌ها است به گونه‌ای که برای انسان نیز خوانا باشد. جی‌سان از زبان اسکریپت‌نویسی جاوااسکریپت در نشان‌دادن ساختمان داده‌های ساده و آرایه‌های انجمنی مشتق شده‌است. با وجود ارتباط عمیقی که با جاوااسکریپت دارد، جی‌سان مستقل از زبان است و مفسرهایش تقریباً برای هر زبانی موجود هستند.

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

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

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

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

{
    "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>

منابع 

جی‌سان
ای‌جکس
پرونده پیکربندی
جاوااسکریپت
زبان‌های نشانه‌گذاری
قالب‌های سریال‌سازی داده‌ها
معرفی‌شده‌های مرتبط با رایانه در ۲۰۰۱ (میلادی)
استانداردهای ئی‌سی‌ام‌ای
استانداردهای ایزو