json logo

Inleiding tot JSON


How JavaScript Works by Douglas Crockford.

العربية Български 中文 Č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) is een lichtgewicht formaat voor data-uitwisseling. JSON is voor programmeurs gemakkelijk te gebruiken, en gemakkelijk voor computers om te verwerken en te genereren. JSON is gebaseerd op een subset van de Javascript programmeertaal, standaard ECMA-262 derde editie (december 1999). JSON is een tekstformaat dat volledig taalonafhankelijk is, maar dat wel vertrouwd zal zijn voor programmeurs uit de C-familie, zoals C, C++, C#, Java, JavaScript, Perl, Python en vele andere. Hierdoor is JSON een ideale taal voor gegevensuitwisseling.

JSON bestaat uit twee bouwstenen:

Dit zijn universele gegevensstructuren die door alle moderne programmeertalen ondersteund worden in één of andere vorm. Het is dus zinvol dat een gegevensformaat dat uitwisselbaar moet zijn tussen programmeertalen, eveneens gebruik maakt van deze structuren.

In JSON verschijnen ze daarom onder de volgende vorm:

Een object is een niet-gesorteerde reeks van naam/waarde paren. Een object start met { (accolade open) en eindigt met } (accolade dicht). Elke naam wordt gevolgd door : (dubbelepunt) en de naam/waarde paren worden gescheiden door , (komma).

Een array of lijst is een gesorteerde reeks van waarden. Een array begint met [ (vierkant haakje open) en eindigt met ] (vierkant haakje dicht). De waarden worden gescheiden door , (komma).

Een waarde kan een karakterreeks zijn tussen dubbele aanhalingstekens, een nummer, true, false, null, een object of een array. Deze structuren kunnen genest worden.

Een string is een verzameling van nul of meerdere Unicode-karakters tussen dubbele aanhalingstekens, waarbij \ (backslash) als ontsnappingsteken wordt gebruikt. Een karakter wordt voorgesteld als één enkele karakterstring. Een JSON-string lijkt heel erg op een string in C of Java.

Een nummer lijkt heel erg op een nummer in C/Java, behalve dat octale en hexadecimale formaten niet kunnen worden gebruikt.

Tussen elk gegevenspaar kunnen spaties gebruikt worden. Behalve enkele details i.v.m. encoderingen, is dit de volledige beschrijving van JSON.