Python ValueError: Es konnte kein JSON-Objekt dekodiert werden

7

Ich versuche ein JSON zu lesen und seine Werte zu erhalten. Ich habe einen Ordner mit den JSON-Archiven, und ich muss alle Archive öffnen und die Werte von ihnen erhalten.

Dies ist der Code:

%Vor%

Dies ist eines der JSONs

%Vor%

Aber wenn ich es ausführe, bekomme ich das:

%Vor%

Was zum Teufel ist los? Gestern funktionierte es genau so wie es jetzt ist, oder bin ich verrückt

Ich habe es so versucht:

%Vor%

Ich sehe keinen Fehler '-'

%Vor%

Auf diese Weise kann ich sehen, was die JSON-Dateien enthalten, aber ich kann zum Beispiel nicht den Zugriff durch den Schlüssel verwenden, wie json_data['url']

    
Nikolas Daroit 07.11.2014, 19:39
quelle

5 Antworten

6

Es ist möglich, dass die Methode .read() den Cursor an das Ende der Datei bewegt. Probieren Sie:

%Vor%

und sehen, wo Sie das bekommt.

Dies setzt natürlich voraus, dass Sie gültige JSON haben, wie Ihr Beispiel zeigt. (Achten Sie auf nachfolgende Kommas)

    
Curtis Mattoon 07.11.2014, 20:23
quelle
13

Für mich war das ein Codierungsproblem, Sie können versuchen, Notepad ++ zu verwenden, um Ihre .json-Datei zu bearbeiten und ändern Sie die Codierung in UTF-8 ohne BOM. Eine andere Sache, die Sie überprüfen können, ist, ob Ihr json-Skript gültig

ist     
Ella Cohen 26.08.2015 13:09
quelle
1

Ich habe diesen Fehler behoben, indem ich die JSON-Datei in UTF-8 ohne BOM konvertiert habe. Im Folgenden finden Sie ein Python-Snippet und url zur Konvertierung

%Vor%     
user2092402 05.06.2017 12:17
quelle
0

Ich hatte heute das gleiche Problem. Bei dem Versuch, die Ursache zu verstehen, habe ich dieses Problem im Zusammenhang mit json module:

gefunden

Ссылка

Überprüfen Sie, ob die Datei UTF8-codiert ist, und wenn dies der Fall ist, verwenden Sie codecs module, um sie zu öffnen und zu lesen, oder überspringen Sie einfach die BOM (Byte Order Mark).

    
waltersantosf 18.05.2015 14:41
quelle
0

Die Antwort darauf, dass .read () den Cursor bewegte, führte zu einer Auflösung meiner Version des Problems. Ich änderte

%Vor%

bis

%Vor%     
Jerry K. 11.10.2016 15:44
quelle

Tags und Links