Beim Versuch, Daten aus einer JSON-Datei mit dem Namen „new.json“ zu extrahieren und in einem neuen JSON zu speichern Datei kann es bei der Verwendung von json.load() zu einem ValueError: Extra data-Fehler kommen.
Der Fehler deutet darauf hin, dass die JSON-Datei zusätzliche Daten enthält, die über die Erwartungen hinausgehen. Dies kann passieren, wenn die JSON-Daten nicht richtig formatiert sind oder wenn am Ende der Datei nachgestellte Zeichen vorhanden sind.
Um dieses Problem zu beheben, stellen Sie sicher, dass die JSON-Daten in „new.json“ ist wohlgeformt. Dies bedeutet, dass es den JSON-Syntaxregeln entsprechen sollte, z. B. der ordnungsgemäßen Verwendung von Anführungszeichen und geschweiften Klammern. Darüber hinaus müssen nachgestellte Zeichen nach der letzten schließenden Klammer des JSON-Objekts entfernt werden.
Anstatt die gesamte JSON-Datei auf einmal zu laden, ein alternativer Ansatz besteht darin, die Datei Zeile für Zeile zu durchlaufen und jede Zeile als separates JSON-Objekt zu laden. Dadurch können Sie nur die Zeilen erfassen, die gültige JSON-Daten enthalten. So können Sie es tun:
tweets = [] with open('new.json', 'r') as file: for line in file: # skip lines that don't contain JSON objects if not line.strip(): continue # try to load the line as JSON try: tweet = json.loads(line) except ValueError: # ignore lines that cannot be loaded as JSON continue # process the valid tweet data tweets.append(tweet)
Bei diesem Ansatz werden alle Zeilen übersprungen, die leer sind oder keine gültigen JSON-Objekte enthalten, wodurch die Wahrscheinlichkeit verringert wird, dass der Fehler „Zusätzliche Daten“ auftritt.
Das obige ist der detaillierte Inhalt vonWarum löst Python „json.loads' den Fehler „ValueError: Extra Data' aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!