每当我尝试从python打印出json时,它都会忽略换行符并打印文本字符串“\ n”而不是换行符。不能从python漂亮打印json
我使用jinja2生成json。这里是我的代码:
print json.dumps(template.render(**self.config['templates'][name]))
它打印出在下面的块的一切(字面意思 - 即使引号和 “\ n” 的字符串):
"{\n \"AWSTemplateFormatVersion\" : \"2010-09-09\",\n \"Description\" : ...
(截)
我得到的东西每当我尝试转储除字典之外的任何内容时都会这样。即使我尝试json.loads()然后再次转储它,我得到垃圾。它只是去除所有换行符。
怎么回事?
不,这不起作用。它没有解决这个问题,因为'print'实际上打印了“\ n”而不是换行符。 – user1491250 2013-05-01 14:14:29
如果使用JSON-_object_(或者python中的dict)作为'json.dumps()'的输入,它会起作用。如果你已经有了一个以字符串表示的JSON对象,那么你不再需要'json.dumps()'。如果我运行'dat = json.loads(payload.content)',其中'type(payload)'是 ''和'type(dat)'是 '', –
felixbr
2013-05-01 14:28:54
' 'json.dumps(dat,indent = 4)'仍然在控制台输出中显示'\ n'字符,'json.dumps(payload.content,indent = 4)'显示一大堆'\'字符,缩进。我在这里错过了什么吗?编辑:是的,看起来像我必须做'打印(json.dumps(dat,indent = 4))'让它在交互式控制台会话中工作。 – user5359531 2017-04-27 01:44:21