5 Najczęstszych Błędów JSON (i Jak je Naprawić)

By Zespół JSONValidator.dev 2025-07-04

Wprowadzenie: Dlaczego Błędy JSON Są Tak Częste

JSON to jeden z najpopularniejszych formatów danych wykorzystywanych w API, konfiguracjach i wymianie danych. Jednak nawet drobne błędy w JSON mogą powodować awarie aplikacji, przerywać integracje lub utrudniać debugging. Oto pięć najczęstszych błędów JSON (z prawdziwymi przykładami) oraz wskazówki, jak je naprawić.

1. Zbędny Przecinek na Końcu

JSON nie pozwala na przecinek po ostatnim elemencie w obiekcie lub tablicy. To częsty błąd przy ręcznej edycji.

Before:
{
  "name": "Alice",
  "age": 30,
}
After:
{
  "name": "Alice",
  "age": 30
}
Porada: Wiele edytorów kodu (oraz nasze narzędzia online) automatycznie podświetli lub poprawi zbędne przecinki.

2. Pojedyncze czy Podwójne Cudzysłowy

JSON wymaga użycia wyłącznie podwójnych cudzysłowów dla kluczy i wartości tekstowych. Pojedyncze cudzysłowy są niepoprawne.

Before:
{
  'name': 'Bob'
}
After:
{
  "name": "Bob"
}
Nie używaj pojedynczych cudzysłowów — nawet jeśli Twój język programowania je dopuszcza! Składnia JSON jest bardziej rygorystyczna niż JavaScript czy Python.

3. Nieucieczkowane Znaki

Niektóre znaki (takie jak nowe linie, tabulatory czy cudzysłowy wewnątrz tekstu) muszą być poprawnie ucieczkowane znakiem odwrotnego ukośnika.

Before:
{
  "note": "This will break: "hello""
}
After:
{
  "note": "This will work: \"hello\""
}
Jeśli pojawia się błąd 'unexpected token' lub 'unterminated string', sprawdź, czy w danych nie brakuje znaków ucieczki.

4. Brakujące Nawiasy lub Klamry

Każdy nawias lub klamra otwierająca musi mieć odpowiadający nawias lub klamrę zamykającą. Brak lub nadmiar nawiasów zawsze generuje nieprawidłowy JSON.

Before:
{
  "name": "Eve",
  "items": [1, 2, 3
}
After:
{
  "name": "Eve",
  "items": [1, 2, 3]
}
Użyj internetowego walidatora JSON, aby szybko wykryć brakujące lub nadmiarowe nawiasy.

5. Błędy Typów Danych

Liczby, wartości logiczne i null nie powinny być ujęte w cudzysłowy. Na przykład 42 jest poprawne, ale "42" jest tekstem, a nie liczbą.

  • "true" (tekst) nie jest tym samym co true (wartość logiczna)
  • "null" (tekst) nie jest tym samym co null (wartość null)
  • "42" (tekst) nie jest tym samym co 42 (liczba)
Before:
{
  "age": "42",
  "active": "true"
}
After:
{
  "age": 42,
  "active": true
}

Jak Nasze Narzędzie Może Pomóc

Wklej swój JSON do naszego walidatora lub narzędzia do naprawy, aby natychmiast wykryć i naprawić te błędy. Nasze narzędzia wskażą dokładny problem — a często zaproponują automatyczną korektę dla wielu popularnych błędów.