json logo

JSON bevezető


العربية Български 中文 Č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.

A JSON (JavaScript Object Notation, JavaScript objektumjelölés) emberek számára is olvasható–írható, programozottan pedig könnyen feldolgozható és előállítható, pehelysúlyú adatcsere-formátum. A JSON a JavaScript programozási nyelv (ECMA-262 szabvány harmadik kiadás, 1999. december) egy részén alapul. A JSON noha programozási nyelvtől független szöveg-formátum, a C családú nyelvekben – C, C++, C#, Java, JavaScript, Perl, Python stb. – jártas programozó számára ismert konvenciókhoz igazodik. Ezek a tulajdonságok teszik a JSON-t ideális nyelvvé adatcseréhez.

A JSON-nak két típusú felépítése lehetséges:

Ezek olyan univerzális adatszerkezetek, amiket gyakorlatilag minden programozási nyelv támogat ilyen vagy olyan formában. Ésszerűnek tűnik tehát, hogy az az adatformátum, amelyet programozási nyelvek kommunikációjához kívánunk használni, szintén ezekre a szerkezetekre épüljön.

JSON-ban ezek a szerkezetek az alábbi formákban nyilvánulnak meg:

Az objektum név–érték párok rendezetlen halmaza. Egy objektum {nyitó kapcsos zárójel-lel kezdődik és }záró kapcsos zárójel-lel zárul. Minden nevet :kettőspont követ. A név–érték párok ,vessző-vel tagoltak.

A tömb értékek rendezett halmaza. A tömb [nyitó szögletes zárójel-lel kezdődik és ]záró szögletes zárójel-lel zárul. Az értékeket ,vessző-vel választjuk el egymástól.

Érték lehet idézőjelek közé írt karakterlánc, szám, logikai igaz true, logikai hamis false, null, objektum vagy tömb. A struktúrák egymásba ágyazhatók.

A karakterlánc nulla vagy több, idézőjelek közé zárt Unicode karakter, szükség szerint visszaper-jellel kivédve. A karakter egy hosszúságú karakterláncnak felel meg. A karakterlánc nagyban hasonlít a C vagy Java karakterláncaihoz.

A szám a C és Java számaihoz hasonló. A különbség az, hogy oktális és hexadecimális formátum itt nem használható.

White space karakter bármely két JSON elem között megadható. Kivétel néhány kódolási részlet, amely egészében a nyelvet írja le.

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