не могу найти документацию на json.tool [закрыто]


12

Я могу найти разбросанные статьи в Интернете, которые используют json.tool для создания симпатичного python, но нет четкой документации по использованию. Я проверил docs.python. но нет официальной документации по json.tool.

У меня есть несколько рабочих процессов (написанных другими людьми), которые используют json.tool для проверки json, но я также видел сообщения, которые предупреждают, что json.tool не всегда создает допустимый json. Поэтому я хочу больше узнать о том, как работает json.tool.

Кто-нибудь может порекомендовать где-нибудь с четкой, исчерпывающей документацией на json.tool?

Ответы:


21

Если вы посмотрите формальную документацию библиотеки JSON python, вы увидите, что вызов json.toolдолжен быть python -mjson.tool. Это указывает на то, что программа находится в файле tool.pyв jsonкаталоге вашей установки python или что она находится в файле __init__.pyв toolкаталоге 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
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.