json logo

Inleiding tot 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) 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.

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