Granice gramatyki JSON w świetle RFC 8259
Przekład reguł gramatycznych RFC 8259 na prosty język: które znaki mogą występować bezpośrednio, które trzeba poprzedzić ucieczką i gdzie specyfikacja celowo pozostawia swobodę.
Punkt wyjścia stanowią RFC 8259 i ECMA-404: kategoria omawia gramatykę JSON, typy, kodowanie oraz granice parsowania — fundament, na którym opiera się każda praca z JSON.
Liczba artykułów: 6Przekład reguł gramatycznych RFC 8259 na prosty język: które znaki mogą występować bezpośrednio, które trzeba poprzedzić ucieczką i gdzie specyfikacja celowo pozostawia swobodę.
JSON ma tylko sześć typów, ale każdy z nich potrafi po cichu zmienić kształt danych. Ten artykuł omawia w jednym przebiegu pułapki liczb, łańcuchów i null.
Zamień błędy JSON.parse na wiersz i znak, a następnie wyklucz sześć przyczyn: przecinki końcowe, pojedyncze cudzysłowy, komentarze, znaki sterujące, BOM i obcięcie.
Od „krzaczków” w Notatniku po trzy sposoby otwarcia pliku JSON, a także jak potwierdzić, że po edycji nic się nie zepsuło, i co zrobić, gdy wielki plik nie chce się otworzyć.
Znajdź przyczynę po dokładnym komunikacie JSON.parse: 12 częstych błędów w Chrome, Firefoksie i Safari, w tym strony błędów HTML, obcięcie i podwójne parsowanie.
Zminifikowany JSON o rozmiarze 4 MB w jednym wierszu zgłasza „wiersz 1, kolumna 23611”, co nic nie mówi. Na lokalnie zmierzonych próbkach wyjaśniamy, dlaczego Python, Node i jq podają trzy różne liczby, jak przesunięcie znaku prowadzi prosto do uszkodzonego bajtu i które trzy pułapki po naprawie składni cicho psują dane.