Ogni volta che provo a stampare json da python, ignora le interruzioni di riga e stampa la stringa letterale "\ n" invece dei caratteri di nuova riga.Impossibile stampare json da python
Sto generando json utilizzando jinja2. Qui è il mio codice:
print json.dumps(template.render(**self.config['templates'][name]))
esso stampa tutto in blocco sotto (letteralmente - anche le citazioni e "\ n" stringhe):
"{\n \"AWSTemplateFormatVersion\" : \"2010-09-09\",\n \"Description\" : ...
(troncato)
ho qualcosa come questo ogni volta che provo a buttare tutto tranne un ditt. Anche se provo json.loads() e poi lo scarico di nuovo, ottengo la spazzatura. Rimuove solo tutte le interruzioni di riga.
Cosa non va?
No, questo non funziona. Non affronta il problema con il fatto che "stampa" stampa effettivamente "\ n" invece di caratteri di nuova riga. – user1491250
Funziona se si usa JSON-_object_ (o meglio il dict in python) come input per 'json.dumps()'. Se hai già un oggetto JSON rappresentato come stringa, non avrai più bisogno di 'json.dumps()'. – felixbr
se eseguo 'dat = json.loads (payload.content)' dove 'type (payload)' è '' e 'type (dat)' è '', 'json.dumps (dat, indent = 4)' mostra ancora i caratteri '\ n' nell'output della console, e' json.dumps (payload.content, indent = 4) 'mostra una sfilza di' 'caratteri' e no indentazione. Mi sto perdendo qualcosa qui? EDIT: sì, sembra che dovevo fare 'print (json.dumps (dat, indent = 4))' per farlo funzionare nella sessione della console interattiva. –
user5359531