json logo

Prezentarea JSON


العربية Български 中文 Český Dansk Nederlands English Esperanto Français Deutsch Ελληνικά עברית Magyar Indonesia Italiano 日本
한국어 فارسی Norsk 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 (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.

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' 'f' 'n' 'r' 't' 'u' hex hex hex hex

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

number integer fraction exponent

integer digit onenine digits '-' digit '-' onenine digits

digits digit digit digits

digit '0' onenine

onenine '1' . '9'

fraction "" '.' digits

exponent "" 'E' sign digits 'e' sign digits

sign "" '+' '-'

ws "" '0020' ws '000A' ws '000D' ws '0009' ws