json error

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
Kamik423
User
Beiträge: 93
Registriert: Donnerstag 28. März 2013, 16:53

sorry, konnte es schon selber lösen

auszug aus meinem code:

Code: Alles auswählen

                print "--------"
                print filePath
                print VDfile.read()
                print "gap1"
                print '{"MainScreen":"000","MainMenu":"001","Testrectangle":"002"}'
                print json.loads('{"MainScreen":"000","MainMenu":"001","Testrectangle":"002"}')
                print "gap2"
                fileData=json.loads(VDfile.read())
und der error:

Code: Alles auswählen

--------
/Users/Hans/Documents/programming/python/lcars 003/ObjData/VariableData/VD.lcs
{"MainScreen":"000","MainMenu":"001","Testrectangle":"002"}
gap1
{"MainScreen":"000","MainMenu":"001","Testrectangle":"002"}
{u'MainScreen': u'000', u'Testrectangle': u'002', u'MainMenu': u'001'}
gap2
No JSON object could be decoded
(das ganze ist in einem try/except dingens)

man sieht da, das VDfile.read() = {"MainScreen":"000","MainMenu":"001","Testrectangle":"002"}
wenn ich das manuell json.loads() dann funktioniert es,
wenn ich es direkt aus dem read auslese geht es nicht

[/size]
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

@Kamik423
Nachdem Du die `read()` Methode auf ein Fileobjekt angewendet hast, steht der Cursor am Ende der Datei. Jeder weitere ``file.read()`` Aufruf liefert daher einen leeren String. Und was sollte `json.loads()` damit anfangen?

Ich verstehe allerdings nicht, weshalb Du `json` nicht einfach die gesamte Arbeit erledigen lässt. Selbst ein json-Objekt hochzuwürgen um daraus dann von `json` ein Pythonobjekt erstellen zu lassen ist irgendwie... von hinten durch die Brust erschossen. :shock:

mutetella
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
Antworten