为了账号安全,请及时绑定邮箱和手机立即绑定

如何打印JSON文件?

如何打印JSON文件?

倚天杖 2019-06-25 11:28:24
如何打印JSON文件?我有一个JSON文件,它是我想要打印的一个乱七八糟的文件-在python中,最简单的方法是什么?我知道PrettyPrint接受一个“Object”,我认为它可以是一个文件,但是我不知道如何传递一个文件-仅仅使用文件名是行不通的。
查看完整描述

3 回答

?
陪伴而非守候

TA贡献1757条经验 获得超8个赞

这个json模块已经实现了一些基本的漂亮打印。indent参数:

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

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

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


查看完整回答
反对 回复 2019-06-25
?
波斯汪

TA贡献1811条经验 获得超4个赞

您可以在命令行中这样做:

python3 -m json.tool < some.json

(正如对这个问题的评注中已经提到的,这要感谢@kaiPetzke对python 3的建议。)

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

我用JQ..上述工作可通过以下方式完成:

jq '' < some.json

你可以得到颜色作为奖励(而且更容易扩展)。


查看完整回答
反对 回复 2019-06-25
  • 3 回答
  • 0 关注
  • 1344 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信