جیسان
پسوند(های) نام پرونده | .json |
---|---|
نوع رسانهٔ اینترنتی | application/json |
کد فایلبندی | TEXT |
گونه | تبادل داده |
نیاکان | جاوا اسکریپت |
استاندارد بینالمللی | STD 90/RFC 8259, ECMA-404, ISO/IEC 21778:2017 |
آزاد؟ | آری |
وبگاه |
نشانهگذاری شیء جاوااسکریپت (به انگلیسی: JavaScript Object Notation) با کوتهنوشت جیسان (به انگلیسی: JSON، /ˈdʒeɪsən/ یا /ˈdʒeɪˌ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>