جی‌سن

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو

جی‌سِن (به انگلیسی: JSON) مخفف JavaScript Object Notation (نشانه‌گذاری شئ جاوااسکریپت)، یک استاندارد باز متنیِ سبک برای انتقال داده‌ها است به گونه‌ای که برای انسان نیز خوانا باشد. جی‌سن از زبان اسکریپت‌نویسی جاوااسکریپت در نشان‌دادن ساختمان داده‌های ساده و آرایه‌های انجمنی مشتق شده‌است. با وجود ارتباط عمیقی که با جاوااسکریپت دارد، جی‌سن مستقل از زبان است و مفسرهایش تفریباً برای هر زبانی موجود هستند.

قالب جی‌سن در ابتدا توسط داگلاس کراکفورد مشخص و در 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>

منابع[ویرایش]