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

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
dejhost
User
Beiträge: 2
Registriert: Montag 18. Oktober 2021, 10:00

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?
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Das sieht so aus als ob du versuchst das JSON selbst als Code ausführen. Hast du dich da mit Dateinamen verhaspelt?
Benutzeravatar
pillmuncher
User
Beiträge: 1530
Registriert: Samstag 21. März 2009, 22:59
Wohnort: Pfaffenwinkel

Es könnte auch sein, dass du null verwendest, statt None. Mir scheint auch, dass du nicht den kompletten Traceback gepostet hast.
In specifications, Murphy's Law supersedes Ohm's.
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

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.
Benutzeravatar
pillmuncher
User
Beiträge: 1530
Registriert: Samstag 21. März 2009, 22:59
Wohnort: Pfaffenwinkel

Darauf wär ich nie gekommen. #expertenblindheit
In specifications, Murphy's Law supersedes Ohm's.
dejhost
User
Beiträge: 2
Registriert: Montag 18. Oktober 2021, 10:00

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!
Antworten