Hoppa till innehållet
MaxyTools

JSON: formatera, validera, minifiera och konvertera till CSV utan fel

Uppdaterad den · 3 min läsning

· Uppdaterad den

JSON är webbens mest spridda utbytesformat: svar från API:er, konfigurationsfiler, dataexporter. Det går att läsa för människor, men är också mycket strikt, och ett enda glömt eller överflödigt kommatecken räcker för att göra det oläsligt för ett program. Den här guiden förklarar reglerna, hur du diagnostiserar ett fel och hur du går från ett format till ett annat utan att skada data.

Reglerna att känna till

Ett JSON-dokument innehåller objekt ({"nyckel": värde}), listor ([1, 2, 3]), strängar, tal, true, false och null. Inget annat. De här reglerna förklarar nästan varje fel:

  • Nycklar och strängar använder dubbla citattecken. Enkla citattecken ('a') är inte giltiga.
  • Inget kommatecken efter det sista elementet i ett objekt eller en lista.
  • Inga kommentarer. Varken // eller /* */ finns i JSON.
  • Inga specialvärden som NaN, Infinity eller undefined.
  • Nycklar måste ha citattecken, till skillnad från JavaScript-objekt.

Formatera och validera steg för steg

  1. Klistra in JSON i JSON-formaterare eller släpp en fil (högst 25 miljoner tecken). Den får indrag direkt, med 2 mellanslag, 4 mellanslag eller en tabb, och nycklarna kan sorteras alfabetiskt på varje nivå.
  2. Bläddra i resultatet som färgad kod eller ett hopfällbart träd; för ett stort dokument öppnar trädet bara de användbara nivåerna och visar långa listor i omgångar om 100.
  3. Vid fel läser du meddelandet: rad, kolumn, utdrag med en markör och trolig orsak (överflödigt kommatecken, enkla citattecken, nyckel utan citattecken, kommentar, NaN).

Varför stora tal är en fälla

JavaScript representerar alla tal som flyttal med dubbel precision: bortom 9 007 199 254 740 991 (2⁵³ − 1) representeras heltal inte längre exakt. Identifieraren 12345678901234567890, inläst och sedan omskriven av ett JavaScript-program, blir 12345678901234567000. De flesta verktyg gör den omvägen utan att säga något. Vårt kopierar tal som du skrev dem: en identifierare med 20 siffror, 92.50 eller 1E5 ändras inte. Om dina data innehåller långa identifierare är det bättre att skicka dem som strängar.

Vanliga misstag

  • Att kopiera ett JavaScript-objekt (nycklar utan citattecken, enkla citattecken) i tron att det är JSON.
  • Att lämna ett kommatecken efter det sista elementet, en vana från andra språk.
  • Att klistra in JSON med kommentarer från en konfigurationsfil (JSONC) i ett verktyg som kräver strikt JSON.
  • Att konvertera identifierare längre än 15 siffror via ett verktyg som avrundar dem.

Ärliga begränsningar

  • Högst 25 miljoner tecken: bortom det använder du ett kommandoradsverktyg.
  • Dubblettnycklar flaggas och behålls, men deras betydelse varierar mellan läsare: undvik dem.
  • En CSV är ett platt format: att konvertera djupt nästlad JSON gör den svårare att läsa.

Vanliga frågor

Varför avvisas min JSON när den fungerar i JavaScript?

För att ett JavaScript-objekt godtar nycklar utan citattecken, enkla citattecken och avslutande kommatecken, vilket JSON förbjuder.

Skickas mina data någonstans?

Nej. Formatering, validering och konvertering körs i din webbläsare.

Hur hindrar jag Excel från att köra en dold formel i en CSV?

Vår omvandlare sätter en apostrof framför all text som börjar med =, +, - eller @. Riktiga tal rörs inte.

Kan jag lägga kommentarer i JSON?

Nej. För konfiguration med kommentarer använder du YAML eller ett härlett format som JSONC, som strikta JSON-verktyg avvisar.

Vilket indrag ska jag välja?

2 mellanslag är den mest spridda konventionen för webben; 4 mellanslag eller en tabb är också vanliga. Det är en fråga om teamets konvention; datans betydelse ändras inte.

Verktyg som nämns i guiden

Fler guider

De här guiderna skrivs av MaxyTools-teamet utifrån hur våra verktyg faktiskt fungerar. Siffrorna är uträkningar som du kan göra om själv eller storleksordningar som anges som sådana. Har du hittat ett fel? Skriv till oss via sidan Kontakt.