Guider

Hva er JSON? En enkel guide med eksempler

JSON (JavaScript Object Notation) er et enkelt tekstformat for å skrive ned strukturerte data — ting som en kunde, en bestilling eller en liste med produkter — som navn parret med verdier. Det er lett for mennesker å lese og lett for programmer å produsere og tolke. Når apper og tjenester utveksler data over nettet, er JSON långt det vanligste formatet.

Hvorfor JSON betyr noe når du bygger med AI

Du kommer til å møte JSON hele tiden, selv om du aldri skriver kode:

  • API-er. Når skjermbildene i appen din henter data fra backend, eller backend-en din kaller en betalings-, e-post- eller AI-tjeneste, reiser dataene vanligvis som JSON. Se hva et API er.
  • Innstillingsfiler. Mange prosjektkonfigurasjonsfiler er JSON — for eksempel package.json, som lister avhengighetene i et JavaScript-prosjekt.
  • Databaser. Postgres kan lagre JSON i en kolonne (typen jsonb) for data som ikke passer pent inn i rader og kolonner. Se hva Postgres er.
  • AI-output. Når du vil at en AI-modell skal returnere noe et program kan bruke — en liste med tagger, uthentede fakturafelt — ber du vanligvis om JSON.
  • Feilmeldinger og logger. Mange feil kommer som JSON, og å lese dem er ofte den raskeste måten å finne ut hva som gikk galt.

Å kunne lese JSON lar deg sjekke hva appen faktisk mottok, oppdage et manglende felt og beskrive problemer presist til AI-appbyggeren din.

En hverdagslig sammenligning

Tenk deg et papirskjema: Navn: ____, Telefon: ____, Nyhetsbrev: ☐ ja ☐ nei. Hver utfylling er en etikett med en verdi ved siden av. JSON er det skjemaet skrevet som tekst, i et strengt oppsett en datamaskin kan lese uten å gjette. Og som skjemaer kan JSON ha seksjoner inni seksjoner (en adresseblokk med gate, by og postnummer) og lister (flere telefonnumre).

Hvordan JSON ser ut

Her er en enkelt booking 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"
  }
}

Slik leser du den:

  • Krøllparenteser { } omslutter et objekt — et sett med navn/verdi-par.
  • Hvert par er "navn": verdi, atskilt med komma.
  • Hakeparenteser [ ] omslutter en array — en ordnet liste.
  • Objekter og arrays kan ligge inni hverandre, slik contact og extras gjør.

De seks typene verdi

JSON har bare seks typer verdi. Den lille listen er en stor del av grunnen til at det fungerer overalt.

TypeEksempelMerknader
Streng (tekst)"Lena Park"Alltid doble anførselstegn
Tall35.5, -2, 1e6Ingen anførselstegn; ingen valutasymboler
Boolsktrue, falseSmå bokstaver, ingen anførselstegn
Nullnull«Ingen verdi»
Objekt{ "city": "Leeds" }Navngitte verdier
Array[1, 2, 3]Ordnet liste; elementene kan være av hvilken som helst type

Det finnes ingen datotype. Datoer skrives som strenger, vanligvis i ISO 8601-formatet vist over (2026-10-03T14:00:00Z, der Z betyr UTC). Å bli enige om det formatet unngår en hel kategori tidssonefeil.

De strenge reglene (der feilene kommer fra)

JSON er mindre tilgivende enn det ser ut. Dette er alt ugyldig:

{ name: "Lena" }            ← nøkkel uten doble anførselstegn
{ 'name': 'Lena' }          ← enkle anførselstegn
{ "a": 1, "b": 2, }         ← komma etter siste element
{ "a": 1 "b": 2 }           ← manglende komma
{ "a": 1 // kommentar }     ← kommentarer er ikke tillatt

De fleste «Unexpected token»-feilene du ser er en av disse. En JSON-validator eller formaterer viser deg den nøyaktige linjen.

Et konkret eksempel: JSON gjennom en app

En kunde booker en frisørtime i en salongapp. Her dukker JSON opp:

  1. Bookingskjemaet sender dette til appens backend:
{ "service": "Haircut", "startsAt": "2026-10-03T14:00:00Z", "name": "Lena Park" }
  1. Backend-en lagrer bookingen i databasen og svarer med statuskode 201 Created og:
{ "id": 5001, "status": "confirmed" }
  1. Hvis tidspunktet allerede var tatt, kan den i stedet svare med statuskode 409 Conflict og:
{ "error": "slot_taken", "message": "Det tidspunktet ble nettopp booket. Velg et annet." }

Siden leser status eller error og viser riktig melding. Hvis siden i stedet viste en tom skjerm, ville det å åpne nettleserens utviklerverktøy (fanen Network) vise deg denne JSON-en — ofte det raskeste hintet om hva som gikk galt.

Viktige begreper

BegrepBetydning
NøkkelNavnet i et navn/verdi-par, som "email".
ParseGjøre JSON-tekst om til data et program kan bruke.
Serialisere / stringifyGjøre data om til JSON-tekst for å sende eller lagre dem.
PayloadDataene som sendes i en forespørsel eller respons.
Skjema (schema)En beskrivelse av formen data skal ha — hvilke felt, hvilke typer. JSON Schema er en standard måte å skrive en på.
JSONBPostgres sin binære JSON-kolonnetype, som kan indekseres og spørres.
NDJSON / JSON LinesEtt JSON-objekt per linje, vanlig for logger og strømming.

Vanlige misforståelser

  • «JSON er JavaScript.» Det kom fra JavaScripts syntaks, men det er uavhengig av språk; Python, Java, C#, Go og resten leser det alle.
  • «Tall i anførselstegn er greit.» "35" er en streng, ikke et tall. Å blande dem skaper feil som at "35" + "5" blir "355". Penger lagres ofte best som hele øre (3550) for å unngå avrundingsproblemer.
  • «JSON er trygt fordi det bare er data.» JSON kan inneholde alt, også hemmeligheter. Ikke legg API-nøkler i JSON som sendes til nettleseren.
  • «Legg alt i en JSON-kolonne.» Praktisk for fleksible tillegg, men data du søker, filtrerer eller kobler sammen på, hører vanligvis hjemme i egne kolonner.
  • «AI-en returnerer alltid gyldig JSON.» Modeller kan legge til ekstra tekst eller bryte formatet. Mange leverandører tilbyr en modus for strukturert output; koden din bør likevel sjekke det som kommer tilbake.

Hva du bør be AI-appbyggeren om

  • «Vis meg et eksempel på JSON-en dette endepunktet returnerer.»
  • «Returner feil som JSON med en error-kode og en lesbar message.»
  • «Lagre datoer som ISO 8601-strenger i UTC, og konverter til lokal tid først på skjermen.»
  • «Lagre priser som heltall i øre.»
  • «Valider innkommende JSON på serveren, og avvis forespørsler med manglende eller feiltypede felt.»
  • «Når du kaller AI-modellen, be om JSON i denne nøyaktige formen og sjekk det før du bruker det.»

JSON i Mythex

Du trenger ikke skrive JSON for hånd i Mythex — du beskriver hva du vil ha, og agenten skriver koden som sender og leser den. Det hjelper likevel å kjenne igjen formatet: når noe går i stykker, gir det å lime JSON-feilen inn i chatten agenten et presist hint. Dokumentasjonens oppskrift for REST API-backend ber om «tydelige JSON-feil» fra starten, og oppskriften for å integrere ethvert API dekker kall til tjenester utenfor. For hele bildet, se REST vs GraphQL og hvordan feilsøke en AI-bygget app.

Spørsmål

Hva er JSON enkelt forklart?

JSON (JavaScript Object Notation) er et tekstformat for å skrive ned strukturerte data som navn og verdier, for eksempel "name": "Lena". Nesten alle web-API-er bruker det til å sende data frem og tilbake, og mange apper bruker det til innstillinger og lagrede data.

Er JSON et programmeringsspråk?

Nei. JSON er et dataformat, ikke et språk. Det kan ikke gjøre noe på egen hånd — det beskriver bare data. Selv om det kom fra JavaScript, kan praktisk talt alle programmeringsspråk lese og skrive det.

Hva er forskjellen mellom JSON og et JavaScript-objekt?

De ser like ut, men JSON er strengere. I JSON må alle nøkler stå i doble anførselstegn, strenger bruker doble anførselstegn, det finnes ingen kommentarer, ingen komma etter siste element, og verdiene er begrenset til strenger, tall, true, false, null, objekter og arrays.

Hvorfor sier JSON-en min at den er ugyldig?

Vanlige årsaker er et komma etter siste element, enkle anførselstegn i stedet for doble, et manglende komma mellom elementer, en klammeparentes som ikke er lukket, eller en kommentar. Lim det inn i en JSON-validator, så peker den på linjen.

Mythex · Pricing · Bygg hva som helst med KI · Maler for nettsider og apper · Mythex sammenlignet · Ordliste for app-bygging med KI · Gratis verktøy for app-bygging med KI · 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 မြန်မာ Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)