не вдається знайти документацію на json.tool [закрито]


12

В Інтернеті я можу знайти розсіяні статті, які використовують json.tool для створення гарного пітона, але чіткої документації щодо використання. Я перевірив docs.python. але офіційної документації на json.tool немає.

У мене є кілька робочих процесів (написаних іншими людьми), які використовують json.tool для перевірки json, але я також бачив публікації, які попереджають json.tool не завжди створює дійсний json. Тому я хочу більше зрозуміти, як працює json.tool.

Хтось може порекомендувати десь чітку, вичерпну документацію на json.tool?

Відповіді:


21

Якщо ви переглянете офіційну документацію бібліотеки пітона JSON, ви побачите, що виклик json.toolповинен бути python -mjson.tool. Це вказує на те, що програма у файлі, що tool.pyзнаходиться в jsonкаталозі вашої установки python, або що вона знаходиться у файлі __init__.pyв toolкаталозі, вказаному jsonв вашій установці python.

Файл насправді є першим з двох, його main()функція - <20 рядків коду, які легко проаналізувати:

  • якщо немає аргументів, він функціонує як труба: JSON у та 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.