Błąd przetwarzania kodu JavaScript w Json

| | | | | |

Wielu programistów przechowuje dane programu w pliku JSON; inne programy odnoszą się do interfejsów API, które wymagają pracy z JSON. W rzeczywistości nie będziesz miał problemu ze znalezieniem przypadku użycia dla słowników JSON lub ich odpowiedników w Pythonie.

Podczas pracy z danymi JSON możesz napotkać błąd JSONDecodeError. W tym przewodniku omówimy przyczyny błędu JSONDecodeError i sposoby jego naprawy.

Python JSONDecodeError

Python JSONDecodeError wskazuje, że wystąpił problem ze sposobem, w jaki Dane JSON. Na przykład w danych JSON może brakować nawiasu klamrowego, może brakować klucza, który nie ma wartości, lub brakuje innego elementu składni.

Aby całkowicie poprawić błąd JSONDecodeError, musisz wprowadzić plik JSON, aby zobaczyć, na czym polega problem. Jeśli przewidujesz inne problemy w przyszłości, możesz użyć bloku try..., z wyjątkiem obsługi błędu JSONDecodeError.

Po którym następuje słowo kluczowe JSONDecodeError, powinien zostać wyświetlony krótki opis opisujący przyczynę wystąpienia błąd.

Wszystkie poprawnie sformatowane pliki JSON powinny wyglądać tak:

" wartość " może być dowolną prawidłową wartością JSON, taką jak lista, ciąg znaków lub inny obiekt JSON.

A przykładowy scenariusz

Budujemy program przechowujący listę obiektów JSON reprezentujących, które komputery zostały przypisane do pracowników firmy. Każdy obiekt JSON powinien wyglądać tak:

Przechowujemy te obiekty JSON w pliku o nazwie sprzęt.json. Plik zawiera tylko jeden wpis:

Aby odczytać te dane w naszym programie, możemy użyć modułu json:

Zacznijmy od zaimportowania modułu json, którego używamy do odczytu pliku JSON. Następnie używamy instrukcji open(), aby odczytać zawartość naszego pliku JSON. Wyświetlamy komunikat do konsoli informujący nas, że dane urządzenia zostały pobrane po wykonaniu instrukcji with.

Uruchommy nasz kod i zobaczmy, co się stanie:

Nasz kod zwraca błąd o długości r. Widzimy, że Python opisuje przyczynę a naszego błędu po terminie JSONDecodeError.

Rozwiązanie

Nasz JSONDecodeError mówi nam, że w naszych danych JSON brakuje dwukropka (:).Te dwie kropki powinny pojawić się w wierszu czwartym kolumny 16. Jeśli spojrzymy na ten wiersz danych w naszym pliku equipment.json, zobaczymy, że nasz JSON nie jest valid:

W naszym kodzie brakuje dwukropka . Aby naprawić ten błąd, musimy dodać dwukropek:

Teraz, gdy rozwiązaliśmy problem ze sposobem reprezentacji naszych danych, możemy spróbować ponownie uruchomić nasz program:

Nasz kod działa dobrze.

Alternatywnie moglibyśmy użyć procedury obsługi try..., z wyjątkiem obsługi tego problemu, aby nasz kod nie działał od razu wyrzuć błąd, jeśli napotkamy inny problem z formatowaniem:

S i jest błąd w naszych danych JSON, ten program zwróci:

W przeciwnym razie program odczyta dane, a następnie wyświetli na konsoli następujący tekst:

Wniosek

Python JSONDecodeError wskazuje na problem ze sposobem formatowania obiektu JSON. Aby naprawić ten błąd, przeczytaj komunikat o błędzie i użyj go jako przewodnika po naprawie danych JSON. Alternatywnie możesz użyć bloku try ..., z wyjątkiem wykrywania i obsługi błędu.

Czy chciałbyś dowiedzieć się więcej o kodowaniu Pythona ? Przeczytaj nasz przewodnik Jak nauczyć się Pythona. Znajdziesz porady ekspertów dotyczące nauki Pythona oraz listę zasobów edukacyjnych, które pomogą Ci poszerzyć swoją wiedzę.

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

News


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method