首页 > Python > 如何在 Python 中漂亮地打印 JSON 文件?

如何在 Python 中漂亮地打印 JSON 文件?

上一篇 下一篇

如何在 Python 中漂亮地打印 JSON 文件?

分割线

网友回答:

您可以在命令行上执行此操作:

python3 -m json.tool some.json

(正如在问题的评论中已经提到的,感谢 @Kai Petzke 的 python3 建议)。

实际上,就命令行上的json处理而言,python并不是我最喜欢的工具。对于简单漂亮的打印是可以的,但如果你想操纵 json,它可能会变得过于复杂。你很快就会需要编写一个单独的脚本文件,你最终可能会得到的地图的键是你的“some-key”(python unicode),这使得选择字段更加困难,并且并没有真正朝着漂亮的打印方向发展。

你也可以使用 jq:

jq . some.json

你会得到颜色作为奖励(并且更容易扩展)。

附录:评论中有一些混淆,一方面使用 jq 处理大型 JSON 文件,另一方面使用非常大的 jq 程序。为了漂亮地打印由单个大型JSON实体组成的文件,实际限制是RAM。为了漂亮地打印由单个真实世界数据数组组成的 2GB 文件,漂亮打印所需的“最大驻留集大小”是 5GB(无论是使用 jq 1.5 还是 1.6)。另请注意,jq 可以在 python 之后使用 。pip install jq

分割线

网友回答:

使用 or 关键字参数指定要使用的缩进量:indentjson.dump()json.dumps()

>>> import json
>>>
>>> your_json = '["foo", {"bar": ["baz", null, 1.0, 2]}]'
>>> parsed = json.loads(your_json)
>>> print(json.dumps(parsed, indent=4))
[
    "foo",
    {
        "bar": [
            "baz",
            null,
            1.0,
            2
        ]
    }
]

要解析文件,请使用:json.load()

with open('filename.txt', 'r') as handle:
    parsed = json.load(handle)

分割线

网友回答:

使用标准库模块读取数据后,使用 pprint 标准库模块显示解析后的数据。例:json

import json
import pprint

json_data = None
with open('file_name.txt', 'r') as f:
    data = f.read()
    json_data = json.loads(data)

pprint.pprint(json_data)

输出将如下所示:

{'address': {'city': 'New York',
             'postalCode': '10021-3100',
             'state': 'NY',
             'streetAddress': '21 2nd Street'},
 'age': 27,
 'children': [],
 'firstName': 'John',
 'isAlive': True,
 'lastName': 'Smith'}

请注意,此输出不是有效的 JSON;虽然它以漂亮的格式显示了 Python 数据结构的内容,但它使用 Python 语法来做到这一点。特别是,字符串(通常)括在单引号中,而 JSON 需要双引号。若要将数据重写为 JSON 文件,请使用 pprint.pformat:

pretty_print_json = pprint.pformat(json_data).replace("'", '"')

with open('file_name.json', 'w') as f:
    f.write(pretty_print_json)

模板简介:该模板名称为【如何在 Python 中漂亮地打印 JSON 文件?】,大小是暂无信息,文档格式为.编程语言,推荐使用Sublime/Dreamweaver/HBuilder打开,作品中的图片,文字等数据均可修改,图片请在作品中选中图片替换即可,文字修改直接点击文字修改即可,您也可以新增或修改作品中的内容,该模板来自用户分享,如有侵权行为请联系网站客服处理。欢迎来懒人模板【Python】栏目查找您需要的精美模板。

相关搜索
  • 下载密码 lanrenmb
  • 下载次数 311次
  • 使用软件 Sublime/Dreamweaver/HBuilder
  • 文件格式 编程语言
  • 文件大小 暂无信息
  • 上传时间 02-22
  • 作者 网友投稿
  • 肖像权 人物画像及字体仅供参考
栏目分类 更多 >
热门推荐 更多 >
单页式简历模板 响应式 html5 微信素材 微信图片 微信模板 微信文章 企业网站 微信公众平台 自适应
您可能会喜欢的其他模板