Immer wenn ich versuche, Json aus Python auszudrucken, ignoriert es Zeilenumbrüche und druckt die Literalzeichenfolge "\ n" anstelle neuer Zeilenzeichen.Kann Json von Python nicht hübsch drucken
Ich erzeuge Json mit Jinja2. Hier ist mein Code:
print json.dumps(template.render(**self.config['templates'][name]))
Es druckt alles im Block unten (wörtlich - auch die Zitate und "\ n" Strings):
"{\n \"AWSTemplateFormatVersion\" : \"2010-09-09\",\n \"Description\" : ...
(abgeschnitten)
ich etwas bekommen So, wenn ich versuche, alles außer einem Diktat zu verschwenden. Selbst wenn ich json.loads() versuche und dann wieder dump mache, bekomme ich Müll. Es löscht nur alle Zeilenumbrüche.
Was läuft falsch?
Nein, das funktioniert nicht. Es spricht das Problem nicht mit der Tatsache an, dass 'Drucken' tatsächlich "\ n" anstatt neuer Zeilenzeichen druckt. – user1491250
Es funktioniert, wenn Sie das JSON-_object_ (oder besser das Dict in Python) als Eingabe für 'json.dumps()' verwenden. Wenn Sie bereits ein JSON-Objekt als String haben, brauchen Sie 'json.dumps()' nicht mehr. – felixbr
wenn ich 'dat = json.loads (payload.content)' wo 'type (payload)' ist '' und 'type (dat)' ist '', 'json.dumps (dat, indent = 4)' zeigt immer noch die '\ n'-Zeichen in der Konsolenausgabe und 'json.dumps (payload.content, indent = 4)' 'zeigt eine ganze Reihe von' \\ 'Zeichen und keine Vertiefung. Fehle ich hier etwas? EDIT: Ja, sieht so aus, als müsste ich 'print (json.dumps (dat, indent = 4))' machen, damit es in der interaktiven Konsolensitzung funktioniert. –
user5359531