json logo

معرفي جي‌سان، JSON


العربية Български 中文 Český Dansk Nederlands English Esperanto Français Deutsch Ελληνικά עברית Magyar Indonesia
Italiano 日本 한국어 فارسی Polski Português Română Русский Српско-хрватски Slovenščina Español Svenska Türkçe Tiếng Việt

ECMA-404 The JSON Data Interchange Standard.

json
    element

value
    object
    array
    string
    number
    "true"
    "false"
    "null"

object
    '{' ws '}'
    '{' members '}'

members
    member
    member ',' members

member
    ws string ws ':' element

array
    '[' ws ']'
    '[' elements ']'

elements
    element
    element ',' elements

element
    ws value ws

string
    '"' characters '"'
characters
    ""
    character characters
character
    '0020' . '10ffff' - '"' - '\'
    '\' escape
escape
    '"'
    '\'
    '/'
    'b'
    'n'
    'r'
    't'
    'u' hex hex hex hex

hex
    digit
    'A' . 'F'
    'a' . 'f'

number
    int frac exp

int
    digit
    onenine digits
    '-' digit
    '-' onenine digits

digits
    digit
    digit digits

digit
    '0'
    onenine

onenine
    '1' . '9'

frac
    ""
    '.' digits

exp
    ""
    'E' sign digits
    'e' sign digits

sign
    ""
    '+'
    '-'

ws
    ""
    '0009' ws
    '000a' ws
    '000d' ws
    '0020' ws

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

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

در 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) كه زبان را شرح مي‌دهند.