json logo

Introduksjon til 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) er et lettvektsformat for datautveksling som er lett å lese og skrive for mennesker. Det er basert på en delmengde av programmeringsspråket JavaScript, Standard ECMA-262 3rd Edition - December 1999. JSON er et tekstformat som er fullstendig uavhengig av andre språk, men som bruker konvensjoner som minner om språkene i C-familien, som C, C++, C#, Java, JavaScript, Perl, Python og mange andre. Disse egenskapene gjør JSON til et ideelt språk for datautveksling.

JSON bygger på to strukturer:

Dette er universelle datastrukturer. Nesten alle moderne programmeringsspråk støtter dem i en eller annen form. Det er naturlig at et format for utveksling av data mellom ulike programmeringsspråk også er basert på disse strukturene.

I JSON uttrykkes datastrukturene slik:

Et objekt er en uordnet mengde med navn/verdi-par. Et objekt begynner med {venstre sløyfeparentes og avsluttes med }høyre sløyfeparentes. Hvert navn er etterfulgt av :kolon og navn/verdi-parene er adskilt av ,komma.

En array er en ordnet samling av verdier. En array starter med [venstre hakeparentes og avsluttes med ]høyre hakeparentes. Verdier er adskilt av ,komma.

En verdi kan være en streng i doble anførselstegn, eller et tall, eller true eller false eller null, eller et objekt eller en array. Disse strukturene kan nøstes.

En streng er en sekvens av null eller flere Unicode-tegn, omgitt av doble anførselstegn som kan inneholde bakstrek. Et tegn representeres av en ett-tegns streng. En streng minner om en streng i C eller Java.

Et tall minner om et tall i C eller Java, bortsett fra at JSON verken benytter det oktale eller det heksadesimale tallsystemet.

Mellomrom i alle former (whitespace) kan settes inn mellom alle par av elementer. Med unntak av enkelte koding-detaljer er dette en fullstendig beskrivelse av JSON-språket.

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