no se puede encontrar documentación en json.tool [cerrado]


12

Puedo encontrar artículos dispersos en línea que usan json.tool para producir bastante python, pero no hay documentación clara sobre el uso. Revisé docs.python. pero no hay documentación formal de json.tool.

Tengo un par de flujos de trabajo (escritos por otras personas) que usan json.tool para validar json, pero también he visto publicaciones que advierten que json.tool no siempre produce json válidos. Así que quiero entender más sobre cómo funciona json.tool.

¿Alguien puede recomendar un lugar con documentación clara y completa sobre json.tool?

Respuestas:


21

Si mira a través de la documentación formal de la biblioteca Python JSON, verá que la invocación de json.tooldebería ser python -mjson.tool. Esto indica que el programa en el archivo tool.pybajo el jsondirectorio de su instalación de Python, o que está en el archivo __init__.pyen el tooldirectorio bajo jsonen su instalación de Python.

El archivo es en realidad el primero de los dos y su main()función es <20 líneas de código que se pueden analizar fácilmente:

  • si no hay argumentos, funciona como una tubería: JSON in y JSON out
  • si hay un argumento que se toma como archivo de entrada JSON, salida a stdout
  • hay dos argumentos, el primero es el archivo de entrada JSON, el segundo el archivo de salida JSON

Si proporciona más parámetros, en realidad mostrará el uso:

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

Eso es para la versión 2.7 de la herramienta. La versión 3.5.1 tiene un parámetro adicional y allí se muestran los parámetros si usa -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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.