找不到有关 json.tool 的文档

找不到有关 json.tool 的文档

我可以在网上找到一些使用 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中。tooljson

该文件实际上是两者中的前者,其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

相关内容