JSON

Från Webbling
Hoppa till: navigering, sök

Denna förkortning utläses ”JavaScript Object Notation” och det är ett kompakt samt lättarbetat format för att utbyta data. Även om det, som namnet ger en indikation på, först användes för JavaScript, så har det kommit att bli ett mycket vanligt och populärt format för att dela data oavsettt vilket språk man kodar i. Speciellt har det blivit ett populärt sätt att dela data mellan olika applikationer. Du kommer t.ex. att finna att väldigt mycket (eller, så gott som all) öppen data distribueras i JSON-format. Många NoSQL-databaser, såsom MongoDB, leverar resultat i JSON.

Det finns även en variant av JSON som hanterar binär data bättre, den kallas för BSON.

Inte bara för JavaScript

De flesta språk har möjlighet att läsa och skriva JSON-data. Hur olika språk hanterar JSON skiljer sig dock lite åt. Här på Webbling, använder vi mestadels JSON med JavaScript, men vi kommer att ha några exempel i andra programmeringsspråk också.

Exempel

Här är ett exempel på hur JSON-data kan se ut:

{
	person:
	[
		{
			förnamn: Patrik,
			efternamn: Grip-Jansson,
			arbetsplats: Soltorgsgymnasiet
		}
	]
}

Vid första anblicken kanske detta ser mer svårläst ut än XML. Dock så är det mycket enklare för en dator att tolka JSON-varianten. Vi som är vana med JavaScript ser direkt att detta är mer eller mindre ren och skär standard JavaScript och det skulle kunna köras som kod rakt av. I JSON-fallet brukar vi dock använda oss av metoder som tolkar koden åt oss, även om den är direkt körbar (överhuvudtaget ska man alltid vara på sin vakt med hur man hanterar data, speciellt extern sådan).

För andra programmeringsspråk kanske inte koden är lika lättolkad, då olika språk har olika notation för sina datastrukturer. Vilket tvingar fram att man måste ha ett bibliotek med JSON-metoder som kan tolka JSON-data och översätta det till något som språket kan hantera (vi behöver sällan skriva en egen tolk, då alla så gott som alla språk har tillgång till dylik funktionalitet).

Referens och spec

Crockfords spec för JSON hittar du på json.org.