我可以在网上找到一些使用 json.tool 生成漂亮 python 的零散文章,但没有明确的使用文档。我检查了文档.python。但没有 json.tool 的正式文档。
我有几个使用 json.tool 来验证 json 的工作流程(由其他人编写),但我也看到过警告 json.tool 并不总是生成有效 json 的帖子。所以我想更多地了解 json.tool 的工作原理。
谁能推荐一个关于 json.tool 的清晰、全面的文档的地方吗?
答案1
如果您查看 python JSON 库的正式文档,您会发现 的调用json.tool
应该是python -mjson.tool
.这表明该程序在你的python安装目录tool.py
下的文件中json
,或者说它在你的python安装目录下的文件__init__.py
中。tool
json
该文件实际上是两者中的前者,其main()
功能不到 20 行代码,可以轻松分析:
- 如果没有参数,它充当管道:JSON 输入和 JSON 输出
- 如果有一个参数被视为 JSON 输入文件,则输出到 stdout
- 有两个参数,第一个是 JSON 输入文件,第二个是 JSON 输出文件
如果您提供更多参数,它实际上会显示用法:
$ python -m json.tool a b c
/opt/python/2.7.11/lib/python2.7/json/tool.py [infile [outfile]]
这是该工具的 2.7 版本。 3.5.1 版本有一个额外的参数,如果您使用以下参数,则会显示参数-h
:
$ python -m json.tool -h
usage: python -m json.tool [-h] [--sort-keys] [infile] [outfile]
A simple command line interface for json module to validate and pretty-print
JSON objects.
positional arguments:
infile a JSON file to be validated or pretty-printed
outfile write the output of infile to outfile
optional arguments:
-h, --help show this help message and exit
--sort-keys sort the output of dictionaries alphabetically by key