Hoppa till huvudinnehåll

json-explanation

Detta dokument förklarar vad JSON är, hur det skrivs, vilka tecken du kan använda och hur du undviker specialtecken.

Vad är JSON?

  • JSON står för JavaScript Object Notation. Det är ett vanligt textformat för lagring och utbyte av strukturerade data (som inställningar, listor eller små databaser).
  • JSON är läsbart för människor och används av många verktyg och webbplatser för att dela information.

Grundläggande byggstenar

  • Objekt: En samling nyckel/värdepar omgivna av klamrar { }.
    • Exempel: {"name":"Alice","age": 30 }
  • Array: En ordnad lista med värden omgiven av hakparenteser [ ].
    • Exempel: [{"id": 1 }, {"id": 2 }]
  • Nyckel (kallas även egenskapsnamn): Alltid en sträng omgiven av dubbla citattecken ".
  • Värde: Kan vara något av följande:
    • en sträng (inom dubbla citattecken), t.ex."hej"
    • ett tal, t.ex. 42 eller 3,14
    • en boolesk variabel: true eller false
    • null för att representera"inget värde"
    • ett objekt { ... }
    • en array [ ... ]

Formateringsregler (måste-krav)

  • Nycklar måste vara inom dubbla citattecken. Enkla citattecken är inte tillåtna för nycklar.
  • Strängar måste använda dubbla citattecken ("så här").
  • Använd ett kolon : mellan varje nyckel och dess värde: "nyckel": värde.
  • Separera objekt i objekt och matriser med kommatecken ,.
  • Sätt inte ett kommatecken efter det sista objektet i ett objekt eller en matris (inga avslutande kommatecken).
  • JSON är skiftlägeskänsligt (true är giltigt, True är inte det).
  • Du kan inte lägga in kommentarer i JSON (vissa verktyg accepterar dem, men standard-JSON gör det inte).

Exempel (giltig JSON):

{
"title":"Example",
"enabled": true,
"count": 5,
"tags": ["docs","example"],
"owner": {"name":"Alice","email":"[email protected]" }
}

Tecken och kodningar

  • JSON-text kodas normalt i UTF-8, som stöder de flesta tecken och språk.
  • Inuti strängar kan du använda bokstäver, siffror, skiljetecken och många Unicode-tecken direkt.
  • Vissa tecken måste undvikas inuti strängar (se nästa avsnitt).

Escaping av specialtecken i strängar

Om du behöver inkludera vissa specialtecken i en sträng måste du escape dem med hjälp av en bakåtslag \ följt av en kod eller ett tecken:

  • \" — ett dubbelt citattecken i en sträng
  • \\ — en bakåtslag
  • \n — ny rad (radbrytning)
  • \t — tabb
  • \r — vagnretur
  • \b — backspace
  • \f — formfeed
  • \uXXXX — ett Unicode-tecken med hexadecimal kod, t.ex. \u00E9 för é

Exempel med undantag:

{
"message":"Han sa, \"Hej\" på rad 1.\nSedan gick han.",
"path":"C:\\Users\\Name"
}

Vanliga misstag och hur man undviker dem

  • Saknade dubbla citattecken runt nycklar: { name:"Alice" } är ogiltigt — använd "name".
  • Användning av enkla citattecken: { 'name': 'Alice' } är ogiltigt.
  • Avslutande kommatecken: {"a": 1, } är ogiltigt.
  • Oescapade specialtecken i strängar (t.ex. ett oescapat dubbelt citattecken inuti en sträng).
  • Dubbla citattecken som konverteras till ”smarta citattecken” (notera skillnaden mellan och ") av ordbehandlingsprogram

Snabbguide

  • Objekt: {"nyckel": värde }
  • Array: [ värde1, värde2 ]
  • Sträng: "text"
  • Tal: 123 eller 3,14
  • Booleskt värde: true / false
  • Null: null