Serwisanci dostępni teraz · czynne całą dobę, także w weekendy i świętaWarszawa i okolice · dojazd bezpłatny
Darmowa diagnoza laptopa
Darmowa diagnoza laptopa
Dojazd do klienta bezpłatnie
Dojazd do klienta bezpłatnie
Laptopy zastępcze bezpłatnie
Laptopy zastępcze bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie

błędny format JSON

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 JSON

Błę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 true i false oraz wartość null. Elementy obiektu muszą mieć postać klucz–wartość rozdzielonych dwukropkiem, a kolejne elementy oddziela się przecinkami.

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 \", \\ i \n.

Najczęstsze miejsca powstawania błędów składni

Niepoprawny 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 NaN i Infinity, a liczba nie może zawierać nieuzasadnionych znaków, na przykład separatora dziesiętnego bez cyfr po jednej ze stron.

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 Content-Type: application/json nie naprawia błędnej treści; informuje odbiorcę tylko o deklarowanym typie danych. Parser nadal sprawdza rzeczywistą składnię otrzymanego tekstu.

Rozróżnienie błędu składni i błędu danych

Parser może odrzucić dokument już na etapie składni, ale poprawnie zapisany JSON nie musi jeszcze zawierać danych akceptowanych przez konkretny program. Dokument {"wiek":"czterdzieści"} jest składniowo poprawny, ponieważ wartość tekstowa znajduje się w cudzysłowie. Jeżeli jednak aplikacja wymaga liczby całkowitej w polu wiek, zgłosi błąd walidacji schematu albo błąd typu danych. Taka sytuacja różni się od braku przecinka, niezamkniętego cudzysłowu czy nieprawidłowego nawiasu, które są błędami składniowymi.

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 JSON

Diagnostykę 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.

+48 22 100 48 29Zadzwoń teraz · serwisant w 1 godzinę