json logo

Uvod v 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) je preprost format za izmenjavo podatkov. Je enostaven za ljudi za branje in pisanje in tudi za računalnike za razbiranje in generiranje. Temelji na podmnožici programskega jezika JavaScript, Standard ECMA-262, tretja izdaja - december 1999. JSON je tekstoven format, ki je v celoti neodvisen od jezika, a uporablja konvencije znane programerjem v C-jevskih jezikih, vključujoč C, C++, C#, Javo, JavaScript, Perl, Python in mnoge druge. Zaradi teh lastnosti je JSON idealen jezik za izmenjavo podatkov.

JSON temelji na dveh strukturah:

To sta univerzalni podatkovni strukturi. Praktično vsi moderni programski jeziki ju poznajo v taki ali drugačni obliki. Smiselno je, da tudi jezik za izmenjavo podatkov, ki je neodvisen od programskega jezika, temelji na teh dveh strukturah.

V JSON-u sta organizirani takole:

Objekt je neurejena množica parov ime/vrednost. Objekt se začne z znakom {zaviti oklepaj in konča z }zaviti zaklepaj. Vsakemu imenu sledi :dvopičje, pari ime/vrednost pa so med seboj ločeni z znakom ,vejica.

Seznam je urejena zbirka vrednosti. Seznam se začne z znakom [oglati oklepaj in konča z ]oglati zaklepaj. Vrednosti so med seboj ločene z znakom ,vejica.

Vrednost je lahko niz v dvojnih narekovajih, število, true, false, null, objekt ali seznam. Te strukture so lahko gnezdene.

Niz je zaporedje nič ali več Unicode znakov obdanih z dvojnima narekovajema, možne so tudi ubežne sekvence. Znak je predstavljen z enoznakovnim nizom. Niz je zelo podoben nizu v jezikih C ali Java.

Število je prav táko, kakršno je število v C-ju ali Javi, samo da ne pozna osmiškega in šestnajstiškega zapisa.

Prazen prostor se lahko pojavi poljubno med dvema simboloma. Razen nekaj detajlov kodiranja je jezik s tem popolnoma določen.

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