Guider

Vad är JSON? En lättförståelig guide med exempel

JSON (JavaScript Object Notation) är ett enkelt textformat för att skriva ner strukturerad data — saker som en kund, en beställning eller en lista över produkter — som namn kopplade till värden. Det är lätt för människor att läsa och lätt för program att skapa och tolka. När appar och tjänster utbyter data över webben är JSON det klart vanligaste formatet.

Varför JSON spelar roll när du bygger med AI

Du kommer att stöta på JSON hela tiden, även om du aldrig skriver kod:

  • API:er. När din apps skärmar hämtar data från sin backend, eller när din backend anropar en betal-, e-post- eller AI-tjänst, färdas datan vanligtvis som JSON. Se vad ett API är.
  • Inställningsfiler. Många projektkonfigurationsfiler är JSON — till exempel package.json, som listar ett JavaScript-projekts beroenden.
  • Databaser. Postgres kan lagra JSON i en kolumn (typen jsonb) för data som inte passar in i snygga rader och kolumner. Se vad Postgres är.
  • AI-svar. När du vill att en AI-modell ska returnera något ett program kan använda — en lista med taggar, extraherade fakturafält — ber du vanligtvis om JSON.
  • Felmeddelanden och loggar. Många fel kommer som JSON, och att läsa dem är ofta det snabbaste sättet att ta reda på vad som gick fel.

Att kunna läsa JSON gör att du kan kontrollera vad din app faktiskt fick, upptäcka ett saknat fält och beskriva problem exakt för din AI-byggare.

En vardagsliknelse

Tänk på ett pappersformulär: Namn: ____, Telefon: ____, Nyhetsbrev: ☐ ja ☐ nej. Varje ifyllning är en etikett med ett värde bredvid. JSON är det formuläret skrivet som text, i en strikt layout som en dator kan läsa utan att gissa. Och precis som formulär kan JSON ha avsnitt inom avsnitt (ett adressblock med gata, stad och postnummer) och listor (flera telefonnummer).

Så här ser JSON ut

Här är en enda bokning i JSON:

{
  "id": 5001,
  "customer": "Lena Park",
  "service": "Haircut",
  "startsAt": "2026-10-03T14:00:00Z",
  "price": 35.5,
  "paid": false,
  "notes": null,
  "extras": ["beard trim", "hot towel"],
  "contact": {
    "email": "lena@example.com",
    "phone": "+44 20 7946 0000"
  }
}

Så här läser du det:

  • Klammerparenteser { } omsluter ett objekt — en uppsättning namn/värde-par.
  • Varje par är "namn": värde, separerade med kommatecken.
  • Hakparenteser [ ] omsluter en array — en ordnad lista.
  • Objekt och arrayer kan ligga i varandra, som contact och extras gör.

De sex typerna av värden

JSON har bara sex typer av värden. Den lilla listan är en stor del av varför det fungerar överallt.

TypExempelAnmärkning
Sträng (text)"Lena Park"Alltid dubbla citattecken
Tal35.5, -2, 1e6Inga citattecken; inga valutasymboler
Booleantrue, falseGemener, inga citattecken
Nullnull”Inget värde”
Objekt{ "city": "Leeds" }Namngivna värden
Array[1, 2, 3]Ordnad lista; poster kan vara av vilken typ som helst

Det finns ingen datumtyp. Datum skrivs som strängar, oftast i ISO 8601-formatet som visas ovan (2026-10-03T14:00:00Z, där Z betyder UTC). Att komma överens om det formatet undviker en hel kategori tidszonsfel.

De strikta reglerna (där felen kommer ifrån)

JSON är mindre förlåtande än det verkar. Dessa är alla ogiltiga:

{ name: "Lena" }            ← nyckel utan dubbla citattecken
{ 'name': 'Lena' }          ← enkla citattecken
{ "a": 1, "b": 2, }         ← avslutande kommatecken
{ "a": 1 "b": 2 }           ← saknat kommatecken
{ "a": 1 // kommentar }     ← kommentarer är inte tillåtna

De flesta ”Unexpected token”-fel du ser är ett av dessa. En JSON-validerare eller formaterare visar exakt rad.

Ett praktiskt exempel: JSON genom en app

En kund bokar en hårklippning i en salongsapp. Här dyker JSON upp:

  1. Bokningsformuläret skickar detta till appens backend:
{ "service": "Haircut", "startsAt": "2026-10-03T14:00:00Z", "name": "Lena Park" }
  1. Backend sparar bokningen i databasen och svarar med status 201 Created och:
{ "id": 5001, "status": "confirmed" }
  1. Om tiden redan var upptagen kan den i stället svara med status 409 Conflict och:
{ "error": "slot_taken", "message": "That time was just booked. Please pick another." }

Sidan läser status eller error och visar rätt meddelande. Om sidan i stället visade en tom skärm skulle webbläsarens utvecklarverktyg (fliken Network) visa dig denna JSON — ofta den snabbaste ledtråden till vad som gick fel.

Nyckeltermer

TermBetydelse
NyckelNamnet i ett namn/värde-par, som "email".
ParsaFörvandla JSON-text till data ett program kan använda.
Serialisera / stringifyFörvandla data till JSON-text för att skicka eller lagra.
PayloadDatan som skickas i en förfrågan eller ett svar.
SchemaEn beskrivning av hur data ska se ut — vilka fält, vilka typer. JSON Schema är ett standardsätt att skriva ett sådant.
JSONBPostgres binära JSON-kolumntyp, som kan indexeras och frågas.
NDJSON / JSON LinesEtt JSON-objekt per rad, vanligt för loggar och strömning.

Vanliga missuppfattningar

  • ”JSON är JavaScript.” Det kommer från JavaScripts syntax, men det är oberoende av språk; Python, Java, C#, Go och resten läser det.
  • ”Tal inom citattecken är okej.” "35" är en sträng, inte ett tal. Att blanda dem orsakar buggar som att "35" + "5" blir "355". Pengar lagras ofta bäst som hela ören (3550) för att undvika avrundningsproblem.
  • ”JSON är säkert eftersom det bara är data.” JSON kan bära vad som helst, inklusive hemligheter. Lägg inte API-nycklar i JSON som skickas till webbläsaren.
  • ”Lägg allt i en JSON-kolumn.” Bra för flexibla extrafält, men data du söker, filtrerar eller kopplar på hör oftast hemma i riktiga kolumner.
  • ”AI:n returnerar alltid giltig JSON.” Modeller kan lägga till extra text eller bryta formatet. Många leverantörer erbjuder ett läge för strukturerade svar; din kod bör ändå kontrollera det som kommer tillbaka.

Vad du ska be din AI-byggare om

  • ”Visa mig ett exempel på JSON som den här endpointen returnerar.”
  • ”Returnera fel som JSON med en error-kod och ett läsbart message.”
  • ”Lagra datum som ISO 8601-strängar i UTC och konvertera till lokal tid först när det visas på skärmen.”
  • ”Lagra priser som heltal i ören.”
  • ”Validera inkommande JSON på servern och avvisa förfrågningar med saknade eller felaktigt typade fält.”
  • ”När AI-modellen anropas, be om JSON i exakt denna form och kontrollera det innan det används.”

JSON i Mythex

Du behöver inte skriva JSON för hand i Mythex — du beskriver vad du vill och agenten skriver koden som skickar och läser det. Det hjälper ändå att känna igen det: när något går sönder ger det agenten en exakt ledtråd om du klistrar in JSON-felet i chatten. Dokumentationens REST API-backend-recept ber om ”tydliga JSON-fel” från start, och integrera valfritt API-receptet täcker anrop till tjänster utanför. För den större bilden, se REST vs GraphQL och hur du felsöker en AI-byggd app.

Frågor

Vad är JSON, enkelt uttryckt?

JSON (JavaScript Object Notation) är ett textformat för att skriva ner strukturerad data som namn och värden, till exempel ”name”: ”Lena”. Nästan varje webb-API använder det för att skicka data fram och tillbaka, och många appar använder det för inställningar och lagrad data.

Är JSON ett programmeringsspråk?

Nej. JSON är ett dataformat, inte ett språk. Det kan inte göra något på egen hand — det beskriver bara data. Även om det kommer från JavaScript kan praktiskt taget varje programmeringsspråk läsa och skriva det.

Vad är skillnaden mellan JSON och ett JavaScript-objekt?

De ser likadana ut, men JSON är strängare. I JSON måste varje nyckel stå inom dubbla citattecken, strängar använder dubbla citattecken, det finns inga kommentarer, inga avslutande kommatecken, och värdena är begränsade till strängar, tal, true, false, null, objekt och arrayer.

Varför säger min JSON att den är ogiltig?

De vanliga orsakerna är ett avslutande kommatecken efter sista posten, enkla citattecken i stället för dubbla, ett saknat kommatecken mellan poster, en oavslutad klammerparentes, eller en kommentar. Klistra in den i en JSON-validerare så pekar den på raden.

Mythex · Pricing · Bygg vad som helst med AI · Mallar för webbplatser och appar · Mythex jämfört · Ordlista för apputveckling med AI · Gratis verktyg för apputveckling med AI · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)