Co to jest JSON i dlaczego się psuje?

JSON (JavaScript Object Notation) to lekki format danych używany do przechowywania i wymiany informacji między systemami. Podlega ścisłym regułom składni: ciągi znaków muszą używać cudzysłowów, obiekty wymagają nawiasów klamrowych, tablice wymagają nawiasów kwadratowych, a przecinki na końcu są zabronione. Nawet jeden błędnie umieszczony znak może sprawić, że cały dokument będzie nieprawidłowy.

JSON często się psuje, gdy jest kopiowany z dzienników, wiadomości czatu lub edytorów kodu. Ręczna edycja często wprowadza błędy, takie jak brakujące cudzysłowy, niezaescapowane znaki lub niedopasowane nawiasy. API czasami zwracają zniekształtowane odpowiedzi, a pliki konfiguracyjne ulegają uszkodzeniu podczas ręcznych edycji.

Opis narzędzia

Ten Naprawiacz JSON automatycznie naprawia uszkodzone lub zniekształtowane dokumenty JSON. Analizuje dane wejściowe, identyfikuje błędy składni i rekonstruuje prawidłowy JSON, zachowując oryginalną strukturę i wartości danych. Narzędzie obsługuje typowe problemy, które w innym przypadku wymagałyby żmudnej ręcznej korekty.

Przykłady

Brakujące cudzysłowy wokół kluczy:

{name: "John", age: 30}

Naprawione:

{ "name": "John", "age": 30 }

Przecinki na końcu:

{ "items": ["apple", "banana", "orange"] }

Naprawione:

{ "items": ["apple", "banana", "orange"] }

Apostrofy zamiast cudzysłowów:

{'status': 'active', 'count': 5}

Naprawione:

{ "status": "active", "count": 5 }

Niecytowane wartości ciągu znaków:

{"message": Hello World}

Naprawione:

{ "message": "Hello World" }

Brakujące nawiasy zamykające:

{"data": [1, 2, 3}

Naprawione:

{ "data": [1, 2, 3] }

Funkcje

  • Automatycznie dodaje brakujące cudzysłowy wokół kluczy i wartości ciągu znaków
  • Usuwa przecinki na końcu tablic i obiektów
  • Konwertuje apostrofy na cudzysłowy
  • Naprawia niedopasowane lub brakujące nawiasy kwadratowe i klamrowe
  • Opcjonalne formatowanie z pretty-print lub minimalnym wyjściem

Jak to działa

Algorytm naprawy analizuje dane wejściowe znak po znaku, budując prawidłową strukturę JSON. Gdy napotka nieprawidłową składnię, stosuje reguły korekcji oparte na typowych błędach JSON. Brakujące cudzysłowy są wnioskowane z kontekstu, niedopasowane nawiasy są zamykane w odpowiednich pozycjach, a nieprawidłowe znaki są obsługiwane lub escapowane. Wynikiem jest składniowo poprawny JSON, który może być analizowany przez dowolny parser JSON.

Przypadki użycia

  • Debugowanie odpowiedzi API: Napraw zniekształtowany JSON zwracany z API lub usług internetowych przed przetworzeniem
  • Czyszczenie danych dziennika: Napraw fragmenty JSON wyodrębnione z dzienników aplikacji lub danych wyjściowych konsoli
  • Naprawianie plików konfiguracyjnych: Popraw ręcznie edytowane konfiguracje JSON, które nagromadziły błędy składni

Ograniczenia

  • Nie może naprawić całkowicie nieustrukturyzowanego tekstu, który nie ma żadnego podobieństwa do JSON
  • Może interpretować niejednoznaczne dane wejściowe inaczej niż zamierzono (zawsze sprawdzaj dane wyjściowe)
  • Błędy semantyczne (nieprawidłowe typy danych, nieprawidłowe wartości) nie są wykrywane ani naprawiane