impossibile trovare la documentazione su json.tool [chiuso]


12

Posso trovare online articoli sparsi che usano json.tool per produrre un bel pitone, ma nessuna documentazione chiara sull'uso. Ho controllato docs.python. ma non esiste una documentazione formale di json.tool.

Ho un paio di flussi di lavoro (scritti da altre persone) che usano json.tool per validare json, ma ho anche visto post che avvertono che json.tool non produce sempre json valido. Quindi voglio capire di più su come funziona json.tool.

Qualcuno può consigliare da qualche parte con una documentazione chiara e completa su json.tool?

Risposte:


21

Se guardi attraverso la documentazione formale della libreria JSON di Python, vedi che json.tooldovrebbe essere l'invocazione di python -mjson.tool. Ciò indica che il programma nel file si trova tool.pynella jsondirectory dell'installazione di Python o che si trova nel file __init__.pynella tooldirectory jsonnella propria installazione di Python.

Il file è in realtà il primo dei due e la sua main()funzione è <20 righe di codice che possono essere facilmente analizzate:

  • se non ci sono argomenti, funziona come pipe: JSON in e JSON out
  • se esiste un argomento preso come file di input JSON, l'output su stdout
  • ci sono due argomenti il ​​primo è il file di input JSON, il secondo il file di output JSON

Se fornisci più parametri, verrà effettivamente mostrato l'utilizzo:

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

Questo è per la versione 2.7 dello strumento. La versione 3.5.1 ha un parametro aggiuntivo e lì i parametri vengono visualizzati se si utilizza -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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.