
Vad är JSON? Är det bättre än XML?
Senast uppdaterad
Med Douglas Crockfords ord, en av utvecklarna bakom JSON: ”JSON (JavaScript Object Notation) är ett lättviktigt format för datautbyte. Det är enkelt för människor att läsa och skriva. Det är enkelt för maskiner att tolka och generera.”
Även om JSON har sitt ursprung i JavaScript stöds det av de stora programmeringsspråken, antingen direkt eller via bibliotek. JSON har blivit mycket populärt på webben. I dag använder nästan alla offentliga webbtjänster och en del privata webbtjänster formatet. Det används oftast för informationsutbyte mellan webbservrar och klienter. Tack vare dess popularitet har många databaser stöd för JSON, bland annat MySQL, PostgreSQL, MongoDB och Neo4j.
Nu ska vi titta närmare på JSON:s struktur, varför du bör använda det, dess fördelar jämfört med XML, dess nackdelar och när det passar att använda.
JSON-filens struktur
Utan att gå in på alltför mycket teknisk jargong lagras JSON-data i vanliga textfiler med en struktur av nycklar och värden. Det gör koden läsbar för människor och filerna enkla att öppna och granska. JSON fungerar i olika system eftersom alla språk kan bearbeta och läsa vanlig text. Eftersom formatet är textbaserat är det lättare, vilket gör det enkelt och snabbt att skicka data på webben. För webbtjänster som visar och skickar mycket data är JSON ett idealiskt val.
Det främsta alternativet till JSON är XML, som använder en taggstruktur och därför är lite mer komplext. Det används främst för datautbyte eftersom varje programmeringsspråk har en XML-tolk. Många scheman kan validera XML, vilket gör det idealiskt för exempelvis nätbutiker, banktjänster och integrationer av industrisystem.
Det är dock viktigt att komma ihåg att XML inte är ett programmeringsspråk utan ett märkspråk. Data lagras därför i trädstrukturer, vilket leder till större datamängder och långsammare dataöverföring.
Om du vill konvertera XML till ett JavaScript-objekt behöver du arbeta dig igenom hundratals kodrader och dessutom göra anpassningar. Däremot krävs bara en enda kodrad för att konvertera JSON till ett JavaScript-objekt.
Som tur är kan du enkelt konvertera XML till JSON med Filestar och förenkla ditt arbete. Du kan också konvertera JSON till XML lika enkelt.

Varför använda JSON
· JavaScript-motorn gör att JSON kan tolkas snabbare. Tillsammans med formatets lilla storlek bidrar det till snabbare dataöverföring.
· JSON har inte heller utrymme för överflödiga eller tomma datataggar, vilket håller formatet enkelt, lättläst och kompakt. Däremot stöder det arrayer, booleska värden, tal, null, strängar och primitiva objekt.
· JSON stöder både ASCII- och UTF-kodning.
· JSON ger säkrare tolkning i alla situationer utom med JSONP, medan XML är sårbart för attacker.
· Kombinationen av JSON och AJAX ger blixtsnabb databearbetning.
Begränsningar med JSON
JSON ger dig flexibel datahantering som fungerar med många programmeringsspråk, men vi kan inte bortse från vissa nackdelar.
1. Det saknar schema, vilket är både en välsignelse och en förbannelse. Å ena sidan kan du representera data i vilken form du vill. Å andra sidan är det väldigt lätt att av misstag skapa felaktigt strukturerade data.
2. Endast en numerisk datatyp tillåts, nämligen IEEE-754 med dubbel precision. Det är mycket teknisk jargong, men enkelt uttryckt innebär det att du inte kan använda de många olika och mer specifika taltyper som finns i flera programmeringsspråk.
3. Du kan inte heller lägga till kommentarer i fält som behöver ytterligare dokumentation, vilket skapar utrymme för missförstånd.
4. Ja, JSON är mindre omständligt än XML, men för stora datamängder eller särskilda behov av datautbyte är det bättre att använda ett effektivare dataformat.
Passar bäst:
Använd JSON när du skriver ett program som kommunicerar med en mobilapp eller en webbläsare. XML är ett föråldrat val eftersom det är en varningssignal inom frontend och inte fungerar bra med de mobilutvecklare du vill attrahera.
För kommunikation mellan servrar kan JSON vara användbart, men ramverk för serialisering som Apache Thrift och Avro fungerar bättre.
Även om JSON stöds av alla databaser är tumregeln för relationsdatabaser att undvika det om möjligt. Det beror på att relationsdatabaser använder strukturerade data, så du kan stöta på prestandaproblem när du gör sökningar inuti JSON-objekt.
Sammanfattning
Kort sagt är JSON standardformatet i praktiken för att överföra data mellan webbläsare, webbservrar och mobilappar. Tack vare sin flexibilitet och enkelhet är det lätt att läsa, förstå och bearbeta. Med JSON behöver du inte oroa dig för validering och semantik.
