5 Yleisintä JSON-virhettä (ja kuinka korjata ne)

By JSONValidator.dev-tiimi 2025-07-04

Johdanto: Miksi JSON-virheet ovat niin yleisiä

JSON on yksi suosituimmista tiedonvaihtomuodoista API-käyttöön, asetuksiin ja datan siirtoon. Pienetkin virheet JSON-tiedostossasi voivat kuitenkin rikkoa sovelluksia, estää integraatioita tai tehdä virheiden korjaamisesta haastavaa. Tässä ovat viisi yleisintä JSON-virhettä (todellisilla esimerkeillä) ja ohjeet niiden korjaamiseen.

1. Loppupilkku

JSONissa pilkku ei saa tulla viimeisen objektin tai taulukon kohteen jälkeen. Tämä on yleinen virhe, kun JSONia muokataan käsin.

Before:
{
  "name": "Alice",
  "age": 30,
}
After:
{
  "name": "Alice",
  "age": 30
}
Vinkki: Monet koodieditorit (ja myös verkkotyökalumme) korostavat tai korjaavat automaattisesti loppupilkut.

2. Yksinkertaiset vs. Kahdet lainausmerkit

JSON vaatii, että kaikki avaimet ja merkkijonot merkitään ainoastaan kahdella lainausmerkillä. Yksinkertaiset lainausmerkit eivät ole sallittuja.

Before:
{
  'name': 'Bob'
}
After:
{
  "name": "Bob"
}
Älä käytä yksinkertaisia lainausmerkkejä – vaikka ohjelmointikielesi sallisi ne! JSONin syntaksi on tiukempi kuin JavaScriptin tai Pythonin.

3. Epaescaping-merkit

Tietyt merkit (kuten rivinvaihdot, sarkainmerkit tai lainausmerkit merkkijonon sisällä) on merkittävä oikein takaviivan avulla.

Before:
{
  "note": "Tämä rikkoo: "hello""
}
After:
{
  "note": "Tämä toimii: \"hello\""
}
Jos näet virheilmoituksen kuten 'odottamaton merkki' tai 'kesken oleva merkkijono', tarkista, onko puuttuvia erikoismerkkejä datassasi.

4. Puuttuvat sulkeet

Jokainen avaus sulku tai aaltosulku on suljettava vastaavalla sulkevalla merkinnällä. Puuttuva tai ylimääräinen sulku aiheuttaa virheellisen JSONin.

Before:
{
  "name": "Eve",
  "items": [1, 2, 3
}
After:
{
  "name": "Eve",
  "items": [1, 2, 3]
}
Käytä verkkopohjaista JSON-validointityökalua löytääksesi puuttuvat tai ylimääräiset sulkeet helposti.

5. Tietotyyppivirheet

Numerot, totuusarvot ja null-arvo eivät saa olla lainausmerkeissä. Esimerkiksi 42 on kelvollinen luku, mutta "42" on merkkijono, ei luku.

  • "true" (merkkijono) ei ole sama kuin true (totuusarvo)
  • "null" (merkkijono) ei ole sama kuin null (arvo)
  • "42" (merkkijono) ei ole sama kuin 42 (numero)
Before:
{
  "age": "42",
  "active": "true"
}
After:
{
  "age": 42,
  "active": true
}

Kuinka työkalumme auttaa

Liitä JSONisi validaattoriimme tai korjaustyökaluumme havaitaksesi ja korjataksesi nämä virheet nopeasti. Työkalumme osoittaa täsmällisen ongelman – ja ehdottaa automaattisia korjauksia monille yleisille virheille.