Guides

Hvad er JSON? En letforståelig guide med eksempler

JSON (JavaScript Object Notation) er et simpelt tekstformat til at skrive struktureret data ned – ting som en kunde, en ordre eller en liste over produkter – som navne parret med værdier. Det er let for mennesker at læse og let for programmer at producere og fortolke. Når apps og tjenester udveksler data over nettet, er JSON langt det mest almindelige format.

Hvorfor JSON betyder noget, når du bygger med AI

Du vil støde på JSON hele tiden, selvom du aldrig skriver kode:

  • API'er. Når din apps skærme henter data fra backend, eller din backend kalder en betalings-, mail- eller AI-tjeneste, rejser data typisk som JSON. Se hvad en API er.
  • Indstillingsfiler. Mange projektkonfigurationsfiler er JSON – fx package.json, der lister et JavaScript-projekts afhængigheder.
  • Databaser. Postgres kan gemme JSON i en kolonne (typen jsonb) til data, der ikke passer i pæne rækker og kolonner. Se hvad Postgres er.
  • AI-output. Når du vil have en AI-model til at returnere noget, et program kan bruge – en liste over tags, udtrukne fakturafelter – beder du typisk om JSON.
  • Fejlmeddelelser og logs. Mange fejl kommer som JSON, og at læse dem er ofte den hurtigste måde at finde ud af, hvad der gik galt.

At kunne læse JSON lader dig tjekke, hvad din app faktisk modtog, opdage et manglende felt og beskrive problemer præcist over for din AI-builder.

En hverdagsanalogi

Tænk på en papirformular: Navn: ____, Telefon: ____, Nyhedsbrev: ☐ ja ☐ nej. Hver udfyldning er en etiket med en værdi ved siden af. JSON er den formular skrevet som tekst i et strengt layout, som en computer kan læse uden at gætte. Og ligesom formularer kan JSON have afsnit inden i afsnit (en adresseblok med gade, by og postnummer) og lister (flere telefonnumre).

Sådan ser JSON ud

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"
  }
}

Sådan læses det:

  • Krøllede parenteser { } omslutter et objekt – et sæt navn/værdi-par.
  • Hvert par er "navn": værdi, adskilt af kommaer.
  • Firkantede parenteser [ ] omslutter et array – en ordnet liste.
  • Objekter og arrays kan ligge inde i hinanden, som contact og extras gør.

De seks slags værdier

JSON har kun seks typer værdier. Den lille liste er en stor del af grunden til, at det virker overalt.

TypeEksempelBemærkninger
Streng (tekst)"Lena Park"Altid dobbelte anførselstegn
Tal35.5, -2, 1e6Ingen anførselstegn; ingen valutasymboler
Boolesktrue, falseSmå bogstaver, ingen anførselstegn
Nullnull„Ingen værdi“
Objekt{ "city": "Leeds" }Navngivne værdier
Array[1, 2, 3]Ordnet liste; elementerne kan være af enhver type

Der er ingen datotype. Datoer skrives som strenge, typisk i ISO 8601-formatet vist ovenfor (2026-10-03T14:00:00Z, hvor Z betyder UTC). Hvis man bliver enige om det format, undgår man en hel kategori af tidszone-fejl.

De strenge regler (der hvor fejlene kommer fra)

JSON er mindre tilgivende, end det ser ud. Disse er alle ugyldige:

{ name: "Lena" }            ← nøgle uden dobbelte anførselstegn
{ 'name': 'Lena' }          ← enkelte anførselstegn
{ "a": 1, "b": 2, }         ← efterfølgende komma
{ "a": 1 "b": 2 }           ← manglende komma
{ "a": 1 // kommentar }     ← kommentarer er ikke tilladt

De fleste „Unexpected token“-fejl, du ser, er en af disse. En JSON-validator eller formatter viser dig den præcise linje.

Et konkret eksempel: JSON gennem en app

En kunde booker en hårklipning i en frisørapp. Her dukker JSON op:

  1. Booking-formularen sender dette til appens backend:
{ "service": "Haircut", "startsAt": "2026-10-03T14:00:00Z", "name": "Lena Park" }
  1. Backend gemmer bookingen i databasen og svarer med status 201 Created og:
{ "id": 5001, "status": "confirmed" }
  1. Hvis tidspunktet allerede var optaget, svarer den i stedet med status 409 Conflict og:
{ "error": "slot_taken", "message": "Tiden er lige blevet booket. Vælg venligst en anden." }

Siden læser status eller error og viser den rigtige besked. Hvis siden i stedet viste en tom skærm, ville det at åbne browserens udviklerværktøjer (fanen Network) vise dig denne JSON – ofte den hurtigste ledetråd til, hvad der gik galt.

Centrale begreber

BegrebBetydning
Nøgle (key)Navnet i et navn/værdi-par, fx "email".
ParseOmdan JSON-tekst til data, et program kan bruge.
Serialize / stringifyOmdan data til JSON-tekst, der kan sendes eller gemmes.
PayloadDe data, der sendes i en forespørgsel eller et svar.
SchemaEn beskrivelse af den form, data skal have – hvilke felter, hvilke typer. JSON Schema er en standard til at skrive en.
JSONBPostgres' binære JSON-kolonnetype, som kan indekseres og forespørges.
NDJSON / JSON LinesÉt JSON-objekt pr. linje, almindeligt til logs og streaming.

Almindelige misforståelser

  • „JSON er JavaScript.“ Det kommer fra JavaScripts syntaks, men det er uafhængigt af sprog; Python, Java, C#, Go og resten læser det alle.
  • „Tal i anførselstegn er fint.“ "35" er en streng, ikke et tal. Blanding skaber fejl som "35" + "5", der bliver til "355". Penge gemmes ofte bedst som hele øre (3550) for at undgå afrundingsproblemer.
  • „JSON er sikkert, fordi det bare er data.“ JSON kan indeholde alt, også hemmeligheder. Læg ikke API-nøgler i JSON, der sendes til browseren.
  • „Læg alt i en JSON-kolonne.“ Praktisk til fleksible ekstrafelter, men data du søger, filtrerer eller joiner på, hører typisk hjemme i rigtige kolonner.
  • „AI'en returnerer altid gyldig JSON.“ Modeller kan tilføje ekstra tekst eller bryde formatet. Mange udbydere tilbyder en struktureret output-tilstand; din kode bør stadig tjekke det, der kommer tilbage.

Hvad du kan bede din AI-builder om

  • „Vis mig et eksempel på den JSON, dette endpoint returnerer.“
  • „Returnér fejl som JSON med en error-kode og en menneskelæselig message.“
  • „Gem datoer som ISO 8601-strenge i UTC, og konverter kun til lokal tid på skærmen.“
  • „Gem priser som heltal i øre/cent.“
  • „Valider indkommende JSON på serveren, og afvis forespørgsler med manglende eller forkert typede felter.“
  • „Når AI-modellen kaldes, så bed om JSON i præcis denne form, og tjek det, før det bruges.“

JSON i Mythex

Du behøver ikke skrive JSON i hånden i Mythex – du beskriver, hvad du vil have, og agenten skriver koden, der sender og læser det. Det hjælper dog at kunne genkende det: når noget går i stykker, giver det agenten en præcis ledetråd at indsætte fejlen i chatten. Dokumentationens REST API-backend-opskrift beder om „klare JSON-fejl“ fra starten, og integrér enhver API-opskriften dækker kald til eksterne tjenester. For det større billede, se REST vs GraphQL og sådan debugger du en AI-bygget app.

Spørgsmål

Hvad er JSON i enkle termer?

JSON (JavaScript Object Notation) er et tekstformat til at skrive struktureret data ned som navne og værdier, fx "name": "Lena". Næsten alle web-API'er bruger det til at sende data frem og tilbage, og mange apps bruger det til indstillinger og gemte data.

Er JSON et programmeringssprog?

Nej. JSON er et dataformat, ikke et sprog. Det kan ikke gøre noget på egen hånd – det beskriver kun data. Selvom det kommer fra JavaScript, kan praktisk talt alle programmeringssprog læse og skrive det.

Hvad er forskellen på JSON og et JavaScript-objekt?

De ligner hinanden, men JSON er strengere. I JSON skal alle nøgler stå i dobbelte anførselstegn, strenge bruger dobbelte anførselstegn, der er ingen kommentarer, ingen efterfølgende kommaer, og værdierne er begrænset til strenge, tal, true, false, null, objekter og arrays.

Hvorfor siger min JSON, at den er ugyldig?

De typiske årsager er et komma efter det sidste element, enkelte anførselstegn i stedet for dobbelte, et manglende komma mellem elementer, en parentes der ikke er lukket, eller en kommentar. Indsæt det i en JSON-validator, så peger den på linjen.

Mythex · Pricing · Byg hvad som helst med AI · Skabeloner til websites og apps · Mythex sammenlignet · Ordliste for app-bygning med AI · Gratis værktøjer til app-bygning med AI · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština 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 Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)