W tym artykule
Typowe błędy JSON
JSON ma surowe reguły składni, które regularnie potykają programistów. Pojedynczy źle umieszczony przecinek, klucz bez cudzysłowu lub końcowy przecinek uczyni cały dokument nieprawidłowym. Standardowe parsery JSON całkowicie odrzucają te błędy, podając jedynie komunikat o błędzie.
Najczęstsze błędy JSON obejmują końcowe przecinki po ostatnim elemencie, pojedyncze cudzysłowy zamiast podwójnych, klucze bez cudzysłowów, osadzone komentarze (// lub /* */), brakujące nawiasy zamykające i niezeskapowane znaki specjalne. Narzędzia naprawy JSON poprawiają to wszystko automatycznie.
Jak działa naprawa JSON
Narzędzie naprawy JSON używa podejścia opartego na parserze zamiast prostego wyszukiwania i zamiany regex. Czyta dane wejściowe znak po znaku, utrzymując automat stanów śledzący bieżącą pozycję w strukturze JSON.
- Korekta oparta na parserze — silnik naprawy utrzymuje stan analizy (wewnątrz obiektu, tablicy, stringa) i używa tego kontekstu do określenia odpowiedniej poprawki
- Równoważenie nawiasów — śledzi otwierające i zamykające nawiasy i automatycznie dodaje brakujące zamykające na końcu lub tam, gdzie struktura to sugeruje
- Normalizacja cudzysłowów — konwertuje pojedyncze cudzysłowy na podwójne, dodaje brakujące cudzysłowy wokół kluczy i prawidłowo eskejpuje znaki specjalne
Wypróbuj za darmo — bez rejestracji
Napraw JSON →Wyjście LLM i obcięty JSON
Duże modele językowe często produkują nieprawidłowy JSON. Mogą obciąć wyjście w połowie obiektu, zapomnieć zamykające nawiasy lub dodać komentarze. Naprawa JSON obsługuje wszystkie te problemy specyficzne dla LLM.
- Obcięte wyjście — gdy LLM przestaje generować w połowie obiektu, narzędzie zamyka wszystkie otwarte struktury we właściwej kolejności, aby wyprodukować prawidłowy JSON
- Bloki kodu Markdown — LLM często owijają JSON w bloki ```json...```. Narzędzie usuwa te ogrodzenia przed przetwarzaniem
- Mieszana zawartość — LLM czasami dodają tekst lub komentarze wokół JSON. Narzędzie wyodrębnia tylko część JSON i poprawia problemy składniowe
Często zadawane pytania
Czy naprawa JSON może spowodować destrukcyjne zmiany?
Naprawa JSON jest konserwatywna z założenia — poprawia tylko błędy składniowe, nigdy nie modyfikując wartości danych. Rzeczywiste dane pozostają nienaruszone. Naprawione wyjście jest semantycznie identyczne z tym, co zamierzał autor.
Jak naprawa radzi sobie z problemami kodowania?
JSON wymaga kodowania UTF-8. Narzędzie obsługuje typowe problemy kodowania, takie jak BOM na początku pliku, nieprawidłowe sekwencje ucieczki i niezeskapowane znaki kontrolne w stringach.
Czy głęboko zagnieżdżony JSON może być naprawiony?
Tak. Podejście oparte na parserze obsługuje dowolnie głębokie zagnieżdżenie, ponieważ utrzymuje stos otwartych struktur. Niezależnie od tego, czy dane wejściowe mają 3 czy 30 poziomów, silnik śledzi każdy poziom i prawidłowo zamyka pozostawione otwarte struktury.