kann keine Dokumentation auf json.tool finden [geschlossen]

12

Ich kann verstreute Artikel online finden, die json.tool verwenden, um hübschen Python zu erzeugen, aber keine eindeutige Dokumentation zur Verwendung. Ich habe docs.python überprüft . Es gibt jedoch keine formale Dokumentation von json.tool.

Ich habe ein paar Workflows (von anderen Leuten geschrieben), die json.tool verwenden, um json zu validieren, aber ich habe auch Posts gesehen, die json.tool warnen und nicht immer gültigen json produzieren. Daher möchte ich mehr darüber erfahren, wie json.tool funktioniert.

Kann jemand irgendwo mit klarer, umfassender Dokumentation auf json.tool empfehlen?

Matt Rinehart
quelle

Antworten:

21

Wenn Sie die formale Dokumentation der Python-JSON-Bibliothek durchsehen, sehen Sie, dass der Aufruf von json.toolsein sollte python -mjson.tool. Dies zeigt an, dass sich das Programm in der Datei tool.pyim jsonVerzeichnis Ihrer Python-Installation oder in der Datei __init__.pyim toolVerzeichnis unter befindetjson Ihrer Python-Installation befindet.

Die Datei ist eigentlich die erstere der beiden und ihre main()Funktion ist <20 Codezeilen, die leicht analysiert werden können:

  • Wenn es keine Argumente gibt, fungiert es als Pipe: JSON in und JSON out
  • Wenn es ein Argument gibt, das als JSON-Eingabedatei verwendet wird, geben Sie es an stdout aus
  • Es gibt zwei Argumente: Das erste ist die JSON-Eingabedatei, das zweite die JSON-Ausgabedatei

Wenn Sie weitere Parameter angeben, wird tatsächlich die Verwendung angezeigt:

$ python -m json.tool a b c
/opt/python/2.7.11/lib/python2.7/json/tool.py [infile [outfile]]

Das ist für die 2.7-Version des Tools. Die 3.5.1-Version hat einen zusätzlichen Parameter, und dort werden die Parameter angezeigt, wenn Sie Folgendes verwenden -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
Anthon
quelle