5 najbežnejších chýb v JSON (a ako ich opraviť)

By Tím JSONValidator.dev 2025-07-04

Úvod: Prečo sú chyby v JSON také bežné

JSON je jeden z najpopulárnejších formátov dát pre API, konfigurácie a výmenu dát. Aj malé chyby v JSON môžu spôsobiť, že aplikácie prestanú fungovať, integrácie zlyhajú alebo bude ladenie nočnou morou. Tu sú päť najčastejších chýb v JSON (s reálnymi príkladmi) a ako ich opraviť.

1. Nadbytočná čiarka (Trailing Comma)

V JSON nie je povolená čiarka za poslednou položkou v objekte alebo poli. Toto je bežná chyba pri ručnom úprave.

Before:
{
  "name": "Alice",
  "age": 30,
}
After:
{
  "name": "Alice",
  "age": 30
}
Tip: Mnohé editory kódu (a naše online JSON nástroje) zvýraznia alebo automaticky opravia nadbytočné čiarky.

2. Jednárodne vs. dvojité úvodzovky

JSON vyžaduje, aby všetky kľúče a reťazcové hodnoty používali iba dvojité úvodzovky. Jednáronne úvodzovky nie sú platné.

Before:
{
  'name': 'Bob'
}
After:
{
  "name": "Bob"
}
Nepoužívajte jednáronne úvodzovky – ani keď ich váš programovací jazyk povoluje! Syntax JSON je prísnejšia než JavaScript alebo Python.

3. Neescaped znaky

Niektoré znaky (napríklad nové riadky, tabulátory alebo úvodzovky v reťazci) musia byť správne escaped pomocou spätného lomítka.

Before:
{
  "note": "This will break: "hello""
}
After:
{
  "note": "This will work: \"hello\""
}
Ak vidíte chyby ako 'neočakávaný token' alebo 'neukončený reťazec', skontrolujte, či vo vašich dátach nechýbajú escapes.

4. Chýbajúce zátvorky alebo zložené zátvorky

Každá otváracia zátvorka alebo zložená zátvorka musí mať svoj uzatvárací protiklad. Chýbajúca alebo prebytočná zátvorka vždy spôsobí neplatný JSON.

Before:
{
  "name": "Eve",
  "items": [1, 2, 3
}
After:
{
  "name": "Eve",
  "items": [1, 2, 3]
}
Použite online JSON validátor na okamžité odhalenie chýbajúcich alebo prebytočných zátvoriek.

5. Chyby v dátových typoch

Čísla, booleany a null by nemali byť uzavreté v úvodzovkách. Napríklad 42 je platné číslo, ale "42" je reťazec, nie číslo.

  • "true" (reťazec) nie je to isté ako true (boolean)
  • "null" (reťazec) nie je to isté ako null (hodnota)
  • "42" (reťazec) nie je to isté ako 42 (číslo)
Before:
{
  "age": "42",
  "active": "true"
}
After:
{
  "age": 42,
  "active": true
}

Ako vám môže náš nástroj pomôcť

Vložte svoj JSON do nášho validátora alebo nástroja na opravu a okamžite nájdite a opravte tieto chyby. Naše nástroje presne ukážu problém a mnohé bežné chyby automaticky opravia.