json logo

Introduktion till 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.

object
{}
{ members }
members
pair
pair , members
pair
string : value
array
[]
[ elements ]
elements
value
value , elements
value
string
number
object
array
true
false
null

string
""
" chars "
chars
char
char chars
char
any-Unicode-character-
    except-"-or-\-or-
    control-character
\"
\\
\/
\b
\f
\n
\r
\t
\u four-hex-digits
number
int
int frac
int exp
int frac exp
int
digit
digit1-9 digits
- digit
- digit1-9 digits
frac
. digits
exp
e digits
digits
digit
digit digits
e
e
e+
e-
E
E+
E-

JSON (JavaScript Object Notation) är ett lättviktigt datautbytesformat. Det är enkelt för människor att läsa och skriva. Det är enkelt för maskiner att parsa och generera. Det är baserat på en delmängd av programmeringsspråket JavaScript, Standard ECMA-262 3rd Edition - December 1999. JSON är ett textbaserat format som är helt oberoende av programmeringsspråk men som använder syntaxkonventioner som är välkända för programmerare med erfarenhet av C-liknande språk, som C, C++, C#, Java, JavaScript, Perl, Python och många andra. Dessa egenskaper gör JSON till ett idealt språk för datautbyte.

JSON baseras på två grundstrukturer:

Dessa är universellt kända strukturer. I princip alla moderna programmeringsspråk har stöd för dem i en eller annan form. Det är rimligt att ett utbytesformat för data mellan olika programmeringsspråk också ska baseras på dessa strukturer.

I JSON uttrycks de på följande sätt:

Ett objekt är en oordnad mängd med nyckel/värdepar. Ett objekt börjar med { (vänster klammerparentes) och slutar med } (höger klammerparentes). Varje nyckel följs av : (kolon) och nyckel/värdeparen åtskiljs av , (komma).

En 'array' är en ordnad mängd av värden. En 'array' börjar med [ (vänster hakparentes) och slutar med ] (höger hakparentes). Värden åtskiljs av , (komma).

Ett värde kan vara en sträng inom dubbla citattecken, eller ett tal, eller true eller false eller null, eller ett objekt eller en 'array'. Dessa strukturer kan vara nästlade.

En sträng är en sekvens av noll eller flera Unicode-tecken, inom dubbla citattecken, som kan innehålla omvänt snedstreck. Ett tecken representeras som en sträng med ett tecken. En sträng är mycket lik en C- eller Java-sträng.

Ett nummer är mycket likt ett C- eller Java-nummer, förutom att de oktala och hexadecimala formaten inte används.

Blanktecken kan användas mellan alla sorters lexem. Med undantag för ett par kodningsdetaljer, så är detta en fullständig beskrivning av språket.