python - 不能从 python 漂亮地打印 json

标签 python json

每当我尝试从 python 打印出 json 时,它都会忽略换行符并打印文字字符串“\n”而不是换行符。

我正在使用 jinja2 生成 json。这是我的代码:

print json.dumps(template.render(**self.config['templates'][name]))

它打印出下面 block 中的所有内容(字面意思——甚至是引号和“\n”字符串):

"{\n    \"AWSTemplateFormatVersion\" : \"2010-09-09\",\n    \"Description\" : ... 

(截断)

每当我尝试转储除 dict 以外的任何内容时,我都会得到类似的结果。即使我尝试 json.loads() 然后再次转储它,我也会得到垃圾。它只是去除所有换行符。

出了什么问题?

最佳答案

这是我用于 pretty-print json 对象的内容:

def get_pretty_print(json_object):
    return json.dumps(json_object, sort_keys=True, indent=4, separators=(',', ': '))

print get_pretty_print(my_json_obj)

json.dumps() 如果您需要非 ascii 支持,也接受编码参数。

关于python - 不能从 python 漂亮地打印 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16318543/

相关文章:

python - 函数自行运行,但不在类中运行

javascript - 将变量从 PHP 传递到 Javascript 图表

java - 解析包含重复键的 json

python - 如何在 Python 中保存 OpenCV 由图片制作的电影

python - 如何生成接近 RGB 值的颜色?

php - 缓存的 Ajax 调用

json - 将 JSON 动态解码为仅包含基于类型字段的顶级字段的结构

javascript - JSON.parse 解析“字符串

python - Pysnmp 命令响应程序包装器

python - 设置 rect 后如何设置 pygame 矩形位置