Heim >Backend-Entwicklung >Python-Tutorial >Warum wirft „json.loads' beim Parsen einer JSON-Datei einen „ValueError: Extra Data' aus?

Warum wirft „json.loads' beim Parsen einer JSON-Datei einen „ValueError: Extra Data' aus?

Barbara Streisand
Barbara StreisandOriginal
2024-11-19 15:47:02842Durchsuche

Why Does `json.loads` Throw a `ValueError: Extra Data` When Parsing a JSON File?

Python json.loads zeigt ValueError: Zusätzliche Daten an

Wenn Sie json.loads zum Parsen einer JSON-Datei verwenden, kann ein ValueError auftreten: Zusätzlicher Datenfehler. Dies weist darauf hin, dass die JSON-Datei zusätzliche Daten enthält, die über die vom Decoder erwarteten hinausgehen.

Um dieses Problem zu beheben, können Sie die folgenden Schritte ausführen:

JSON-Datenzeile laden nach Zeile

Anstatt die gesamte JSON-Datei auf einmal zu laden, durchlaufen Sie die Datei und laden Sie jede Zeile als JSON:

with open('new.json') as infile:
    tweets = []
    for line in infile:
        tweets.append(json.loads(line))

Dieser Ansatz vermeidet das Speichern von Python-Zwischenobjekten und stellt sicher, dass jede Zeile als gültiges JSON-Objekt analysiert wird.

Beispieldaten

Sie haben einen Beispieldatenausschnitt aus der Datei new.json bereitgestellt. Bei der Untersuchung des Snippets scheint es, dass die Daten in einer einzigen Zeile enthalten sind. Daher können Sie die Daten direkt in ein JSON-Objekt laden, indem Sie:

import json

with open('new.json') as infile:
    data = json.load(infile)

Stellen Sie sicher, dass die Datei nur gültige JSON-Daten und keine zusätzlichen Zeichen enthält, die den ValueError: Extra data auslösen könnten.

Das obige ist der detaillierte Inhalt vonWarum wirft „json.loads' beim Parsen einer JSON-Datei einen „ValueError: Extra Data' aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn