在json.tool上找不到文档


12

我可以在网上找到分散的文章,这些文章使用json.tool生成漂亮的python,但没有关于用法的清晰文档。我检查了docs.python。但是没有json.tool的正式文档。

我有几个工作流程(由其他人编写),它们使用json.tool来验证json,但是我也看到过一些警告json.tool并不总是产生有效json的帖子。所以我想更多地了解json.tool的工作原理。

任何人都可以在json.tool上推荐包含清晰,全面文档的地方吗?

Answers:


21

如果仔细阅读python JSON库的正式文档,您会发现的调用json.tool应为python -mjson.tool。这表明,该程序在文件中tool.pyjson你的Python安装目录下,或者说,它是在文件中__init__.pytool目录下json以你的Python安装。

该文件实际上是二者的前一个,其main()功能是少于20行的代码,可以轻松地对其进行分析:

  • 如果没有参数,则它充当管道:JSON in和JSON out
  • 如果有一个参数用作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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.