| Termin | Definicja |
|---|---|
| błędny format JSON | Błędny format JSON to usterka struktury danych uniemożliwiająca ich prawidłowe odczytanie przez system. Na czym polega błędny format JSONBłędny format JSON oznacza, że zapis danych nie spełnia reguł składni tego formatu i dlatego parser nie może utworzyć poprawnej struktury obiektów, tablic, wartości oraz par klucz–wartość. JSON opisany w RFC 8259 może zawierać obiekt ujęty w nawiasy klamrowe, tablicę w nawiasach kwadratowych, tekst w podwójnych cudzysłowach, liczby, wartości logiczne Typowym błędem jest użycie pojedynczych cudzysłowów zamiast podwójnych, brak dwukropka po nazwie klucza, pozostawienie przecinka po ostatnim elemencie albo pominięcie zamykającego nawiasu. Nie jest też poprawnym JSON-em komentarz umieszczony między danymi. Wartość tekstowa musi być zamknięta w podwójnych cudzysłowach, a znaki specjalne, takie jak cudzysłów wewnątrz tekstu, odwrotny ukośnik lub znak nowej linii, wymagają właściwego zapisu ucieczkowego, na przykład Najczęstsze miejsca powstawania błędów składniNiepoprawny JSON często powstaje podczas ręcznego edytowania pliku konfiguracyjnego, generowania odpowiedzi przez aplikację albo składania danych z kilku źródeł. Przykładem jest połączenie fragmentów tekstu bez usunięcia dodatkowego przecinka lub bez zamknięcia tablicy. Problem może również wynikać z nieprawidłowego formatowania liczb. JSON nie przewiduje wartości takich jak Odrębną grupę stanowią błędy kodowania i transmisji. RFC 8259 zaleca, aby dane JSON wymieniane między systemami były kodowane w UTF-8. Uszkodzenie bajtów, niepełne pobranie odpowiedzi HTTP, obcięcie pliku podczas zapisu lub wstawienie niepoprawnie zakodowanego znaku może uniemożliwić odczyt całego dokumentu. Sam nagłówek Rozróżnienie błędu składni i błędu danychParser może odrzucić dokument już na etapie składni, ale poprawnie zapisany JSON nie musi jeszcze zawierać danych akceptowanych przez konkretny program. Dokument Podczas analizy należy ustalić, na którym etapie problem występuje. Najpierw sprawdza się, czy cały tekst można sparsować jako JSON. Następnie porównuje się jego strukturę z wymaganiami aplikacji: obecnością pól, typami wartości, dozwolonym zakresem liczb oraz zagnieżdżeniem obiektów i tablic. Warto pamiętać, że standard JSON nie określa jednolitego zachowania dla wielokrotnie powtórzonego klucza w jednym obiekcie, dlatego takie zapisy mogą być różnie interpretowane przez biblioteki programistyczne i powinny być eliminowane. Sprawdzanie i naprawa dokumentu JSONDiagnostykę warto rozpocząć od zachowania oryginalnego tekstu oraz komunikatu parsera wskazującego pozycję błędu. Numer linii i kolumny jest punktem startowym, ale rzeczywista przyczyna może znajdować się kilka znaków wcześniej, na przykład przy brakującym cudzysłowie lub przecinku. Pomocne jest automatyczne formatowanie dokumentu przez parser, walidator składni oraz porównanie odpowiedzi z dokumentem oczekiwanym przez aplikację. Po poprawce należy ponownie sprawdzić cały dokument, ponieważ usunięcie jednego błędu może ujawnić następny. W praktyce serwisowej trzeba także ustalić źródło wadliwego zapisu: plik konfiguracyjny, program generujący dane, pamięć masową, połączenie sieciowe albo aplikację odbierającą odpowiedź. Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów, komputerów PC i podzespołów, dlatego przy problemach z aplikacją korzystającą z plików JSON można sprawdzić stan systemu, dysku, pamięci operacyjnej oraz poprawność działania używanego oprogramowania. Sama naprawa sprzętu nie zmieni jednak błędnej składni dokumentu, jeżeli wadliwe dane są ponownie generowane przez program lub pobierane z uszkodzonego źródła. |