webentwicklung-frage-antwort-db.com.de

json.decoder.JSONDecodeError: Zusätzliche Daten: Zeile 2 Spalte 1 (Zeichen 190)

Ich führe den folgenden Code aus

import json

addrsfile = 
open("C:\\Users\file.json", 
"r")
addrJson = json.loads(addrsfile.read())
addrsfile.close()
if addrJson:
    print("yes")

Aber gib mir folgende Fehler

Traceback (most recent call last):
  File "C:/Users/Mayur/Documents/WebPython/Python_WebServices/test.py", line 9, in <module>
    addrJson = json.loads(addrsfile.read())
  File "C:\Users\Mayur\Anaconda3\lib\json\__init__.py", line 354, in loads
    return _default_decoder.decode(s)
  File "C:\Users\Mayur\Anaconda3\lib\json\decoder.py", line 342, in decode
    raise JSONDecodeError("Extra data", s, end)
json.decoder.JSONDecodeError: Extra data: line 2 column 1 (char 190)

Helfen Sie mir bitte?

JSON-Datei ist wie-

{"name": "XYZ", "address": "54.7168,94.0215", "country_of_residence": "PQR", "countries": "LMN;PQRST", "date": "28-AUG-2008", "type": null}
{"name": "OLMS", "address": null, "country_of_residence": null, "countries": "Not identified;No", "date": "23-FEB-2017", "type": null}
4
SMS

Sie haben zwei Datensätze in Ihrer Json-Datei und json.loads() kann nicht mehr als einen dekodieren. Sie müssen es Aufzeichnung für Aufzeichnung machen. 

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

ODER Sie müssen Ihren Json so formatieren, dass er ein Array enthält:

{
    "foo" : [
       {"name": "XYZ", "address": "54.7168,94.0215", "country_of_residence": "PQR", "countries": "LMN;PQRST", "date": "28-AUG-2008", "type": null},
       {"name": "OLMS", "address": null, "country_of_residence": null, "countries": "Not identified;No", "date": "23-FEB-2017", "type": null}
    ]
}

wäre wieder akzeptabel. Es können jedoch nicht mehrere Objekte der obersten Ebene vorhanden sein. 

4
Hannu

Ich habe JSON von einem REST -API-Aufruf analysiert und diese Fehlermeldung erhalten. Es stellte sich heraus, dass die API "unruhiger" geworden war (z. B. hinsichtlich der Reihenfolge der Parameter usw.) und dass daher fehlerhafte Ergebnisse zurückgegeben wurden. Überprüfen Sie, ob Sie das bekommen, was Sie erwarten :) 

0
Richard