每当我尝试从 Python 打印 JSON 数据时,它会忽略换行符并打印字面字符串“\n”而不是换行符号。
我使用 Jinja2 生成 JSON 数据。这是我的代码:
print json.dumps(template.render(**self.config['templates'][name]))
它会打印出下面区块中的全部内容(字面上,包括引号和"\n"字符串):
"{\n \"AWSTemplateFormatVersion\" : \"2010-09-09\",\n \"Description\" : ...
每当我尝试转储除了字典之外的任何内容时,我都会得到类似这样的结果。即使我尝试json.loads()然后再转储,我也得到垃圾数据。它只是删除所有换行符。出了什么问题?
json.dumps()
的输入,则它可以正常工作。如果您已经有一个表示为字符串的JSON对象,则不再需要使用json.dumps()
。 - felixbrdat = json.loads(payload.content)
,其中type(payload)
是<class 'requests.models.Response'>
,而type(dat)
是<type 'dict'>
,则json.dumps(dat, indent=4)
仍然在控制台输出中显示\n
字符,而json.dumps(payload.content, indent=4)
则显示一堆\\
字符和没有缩进。我错过了什么吗?编辑:是的,在交互式控制台会话中,我必须执行print(json.dumps(dat, indent=4))
才能使其正常工作。 - user5359531