json logo

Prezentarea 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 - Notația Obiect JavaScript) este un format ușor de interschimbare a datelor. Este ușor de citit și scris pentru oameni. Este ușor de parsat și generat de către mașini. Este bazat pe o parte a
Limbajului de Programare JavaScript, Standardul ECMA-262 Ediția a III-a - Decembrie 1999. JSON este un format text care este complet independent de limbaj dar folosește convenții care le sunt familiare programatorilor familiei de limbaje C, care include C, C++, C#, Java, JavaScript, Perl, Python, și multe altele. Aceste proprietăți fac din JSON un limbaj ideal pentru interschimbarea datelor.

JSON este construit pe două structuri:

Acestea sunt structuri de date universale. Aproape toate limbajele de programare moderne le suportă într-o formă sau alta. Are sens ca un format de date care este interschimbabil cu limbajele de programare să fie bazat tot pe aceste structuri.

În JSON, acestea iau una dintre următoarele forme:

Un obiect este o mulțime neordonată de perechi nume/valoare. Un obiect începe cu { (acoladă deschisă) și se termină cu } (acoladă închisă). Fiecare nume este urmat de : (două puncte) și perechile nume/valoare sunt separate de , (virgulă).

Un tablou este o colecție ordonată de valori. Un tablou începe cu [ (paranteză dreaptă deschisă) și se termină cu ] (paranteză dreaptă închisă). Valorile sunt separate cu , (virgulă).

O valoare poate fi un șir în ghilimele, sau un număr, sau true sau false sau null, sau un obiect sau un tablou. Aceste structuri pot fi imbricate.

Un șir este o secvență de zero sau mai multe caractere Unicode, plasate între ghilimele, și folosind secvențe escape cu backslash . Un caracter este reprezentat ca un șir cu un singur caracter. Un șir seamănă foarte mult cu un șir din C sau Java.

Un număr seamănă foarte mult cu un număr din C sau Java, cu excepția că formatele octal și hexazecimal nu sunt folosite.

Spațiile albe pot fi inserate între orice pereche de atomi lexicali. Exceptând câteva detalii de encoding asta descrie complet limbajul.