Jeśli przejrzysz formalną dokumentację biblioteki JSON Pythona, zobaczysz, że wywołanie json.tool
powinno być python -mjson.tool
. Wskazuje to, że program w pliku tool.py
w json
katalogu instalacji Pythona lub że znajduje się w pliku __init__.py
w tool
katalogu json
instalacji Pythona.
Plik jest tak naprawdę pierwszym z nich, a jego main()
funkcją jest <20 linii kodu, które można łatwo przeanalizować:
- jeśli nie ma argumentów, działa jak potok: JSON wchodzi i JSON wychodzi
- jeśli istnieje jeden argument, który jest traktowany jako plik wejściowy JSON, wypisuje na standardowe wyjście
- istnieją dwa argumenty, pierwszy to plik wejściowy JSON, drugi to plik wyjściowy JSON
Jeśli podasz więcej parametrów, faktycznie pokaże użycie:
$ python -m json.tool a b c
/opt/python/2.7.11/lib/python2.7/json/tool.py [infile [outfile]]
Dotyczy to wersji narzędzia 2.7. Wersja 3.5.1 ma dodatkowy parametr i tam parametry są wyświetlane, jeśli używasz -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