Seite 1 von 1

json.load ergibt "NameError: name 'null' is not defined"

Verfasst: Montag 18. Oktober 2021, 10:15
von dejhost
Hallo Zusammen,

Ich lade eine json-datei und erhalte den Fehler
NameError: name 'null' is not defined
Hier mein Skript:

Code: Alles auswählen

import json
with open('C:\\Users\\Hidden\Documents\\RnD\\rePho\\json2xml\\QC01\\test.json',) as f:
  data = json.loads(f)
Der Fehler:
Traceback (most recent call last):
File ".\test.json", line 2, in <module>
Dann wird das gesamte json-datei ausgegeben, gefolgt von
NameError: name 'null' is not defined
Die erste Zeile des json's enthält lediglich die eckige Klammer auf ("["), so dass es sich also in der Fehlermeldung um den ersten Eintrag handelt.
Die json-datei kann auf Grund Ihrer Grösse hier leider nicht posten, wird aber zumindest von anderen Programmen als json erkannt.

Kann mir jemand sagen was ich falsch mache, und wie ich es richtig mache?

Re: json.load ergibt "NameError: name 'null' is not defined"

Verfasst: Montag 18. Oktober 2021, 10:41
von __deets__
Das sieht so aus als ob du versuchst das JSON selbst als Code ausführen. Hast du dich da mit Dateinamen verhaspelt?

Re: json.load ergibt "NameError: name 'null' is not defined"

Verfasst: Montag 18. Oktober 2021, 12:05
von pillmuncher
Es könnte auch sein, dass du null verwendest, statt None. Mir scheint auch, dass du nicht den kompletten Traceback gepostet hast.

Re: json.load ergibt "NameError: name 'null' is not defined"

Verfasst: Montag 18. Oktober 2021, 12:12
von __deets__
Ich habe das gerade mal ausprobiert, und wenn ich eine JSON-Datei mit Inhalt

Code: Alles auswählen

[ null, null, null ]
anlege, und die einfach mit

Code: Alles auswählen

python3 /tmp/test.json
ausfuehre, kommt es ziemlich genau zu der Fehlermeldung. Das ist also denke ich wirklich die Ursache - du benutzt nicht dein Skript, sondern versuchst, die JSON-Datei direkt mit dem Python-Interpreter zu laden. Das muss natuerlich scheitern.

Re: json.load ergibt "NameError: name 'null' is not defined"

Verfasst: Montag 18. Oktober 2021, 12:16
von pillmuncher
Darauf wär ich nie gekommen. #expertenblindheit

Re: json.load ergibt "NameError: name 'null' is not defined"

Verfasst: Montag 18. Oktober 2021, 13:42
von dejhost
Oha, da war ich wohl noch nicht ganz wach.... ich habe tatsächlich das json-file statt dem Script mit Python geöffnet. Sehr peinlich.
Danke Euch!