Json Capture Javascript Parseerfout

| | | | | |

Veel ontwikkelaars slaan programmagegevens op in een JSON-bestand; andere programma`s verwijzen naar API`s waarvoor u met JSON moet werken. U zult in feite geen probleem hebben om een use case te vinden voor JSON-woordenboeken, of het equivalent van Python.

U kunt een JSONDecodeError tegenkomen wanneer u met JSON-gegevens werkt. In deze handleiding gaan we het hebben over de oorzaken van een JSONDecodeError en hoe u deze kunt oplossen.

Python JSONDecodeError

Een Python JSONDecodeError geeft aan dat er een probleem is met de manier waarop uw JSON-gegevens. Uw JSON-gegevens kunnen bijvoorbeeld een accolade missen, of een sleutel hebben die geen waarde heeft, of een ander stuk syntaxis ontbreekt.

Om een JSONDecodeError volledig te corrigeren, moet u invoeren een JSON-bestand om te zien wat het probleem is. Als u in de toekomst andere problemen verwacht, kunt u een try ...-blok gebruiken, behalve om uw JSONDecodeError af te handelen.

Gevolgd door het JSONDecodeError-sleutelwoord, zou u een korte beschrijving moeten zien die de oorzaak van de fout.

Alle correct geformatteerde JSON`s zouden er als volgt uit moeten zien:

" value " kan elke geldige JSON-waarde zijn, zoals een lijst, string of ander JSON-object.

A voorbeeldscenario

We bouwen een programma dat een lijst met JSON-objecten opslaat die aangeven welke computers zijn toegewezen aan werknemers van een bedrijf. Elk JSON-object zou er als volgt uit moeten zien:

We slaan deze JSON-objecten op in een bestand met de naam apparatuur.json. Het bestand bevat slechts één item:

Om deze gegevens in ons programma te lezen, kunnen we de json-module gebruiken:

Laten we beginnen met het importeren van de json-module die we gebruiken om een JSON-bestand te lezen. Vervolgens gebruiken we een open ()-statement om de inhoud van ons JSON-bestand te lezen. We printen een bericht naar de console waarin staat dat de apparaatgegevens zijn opgehaald nadat onze instructie met is uitgevoerd.

Laten we onze code uitvoeren en kijken wat er gebeurt:

Onze code retourneert een fout r long. We zien dat Python de oorzaak a van onze fout beschrijft na de term JSONDecodeError.

De oplossing

Onze JSONDecodeError vertelt ons dat er een dubbele punt (:) ontbreekt in onze JSON-gegevens. Deze twee punten zouden moeten verschijnen op rij vier van kolom 16. Als we naar deze rij met gegevens in ons equipment.json-bestand kijken, kunnen we zien dat onze JSON dat niet is valid:

De dubbele punt ontbreekt in onze code . Om deze fout te corrigeren, moeten we de dubbele punt toevoegen:

Nu we het probleem hebben opgelost met de manier waarop onze gegevens worden weergegeven, kunnen we proberen ons programma opnieuw op te starten:

Onze code werkt prima.

Als alternatief kunnen we een try ... handler gebruiken, behalve om dit probleem op te lossen, zodat onze code niet onmiddellijk gooi een fout als we een ander opmaakprobleem tegenkomen:

S en er is een fout in onze JSON-gegevens, dit programma retourneert:

Anders zal het programma de gegevens lezen en vervolgens de volgende tekst op de console weergeven:

Conclusie

De Python JSONDecodeError geeft aan dat er een probleem is met de manier waarop een JSON-object is geformatteerd. Om deze fout op te lossen, moet u het foutbericht lezen en het gebruiken als een gids om uw JSON-gegevens te herstellen. U kunt ook een try ...-blok gebruiken, behalve om de fout te detecteren en af te handelen.

Wilt u meer weten over het coderen van Python? Lees onze gids over het leren van Python. U vindt deskundig advies over het leren van Python en een lijst met leermiddelen om u te helpen uw kennis uit te breiden.

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