tidak dapat menemukan dokumentasi di json.tool [ditutup]

12

Saya dapat menemukan artikel yang tersebar online yang menggunakan json.tool untuk menghasilkan python yang cantik, tetapi tidak ada dokumentasi yang jelas tentang penggunaannya. Saya memeriksa docs.python. tetapi tidak ada dokumentasi formal tentang json.tool.

Saya punya beberapa alur kerja (ditulis oleh orang lain) yang menggunakan json.tool untuk memvalidasi json, tetapi saya juga melihat posting yang memperingatkan json.tool tidak selalu menghasilkan json yang valid. Jadi saya ingin lebih mengerti tentang cara kerja json.tool.

Adakah yang bisa merekomendasikan tempat dengan dokumentasi yang jelas dan komprehensif tentang json.tool?

Matt Rinehart
sumber

Jawaban:

21

Jika Anda melihat melalui dokumentasi formal perpustakaan JSON python Anda melihat bahwa doa json.toolharus python -mjson.tool. Ini menunjukkan bahwa program dalam file di tool.pybawah jsondirektori instalasi python Anda, atau bahwa itu dalam file __init__.pydi tooldirektori jsondi bawah dalam instalasi python Anda.

File ini sebenarnya adalah yang pertama dari keduanya dan main()fungsinya adalah <20 baris kode yang dapat dengan mudah dianalisis:

  • jika tidak ada argumen itu berfungsi sebagai pipa: JSON masuk dan keluar JSON
  • jika ada satu argumen yang diambil sebagai file input JSON, output ke stdout
  • ada dua argumen yang pertama adalah file input JSON, yang kedua adalah file output JSON

Jika Anda memberikan lebih banyak parameter itu sebenarnya akan menunjukkan penggunaan:

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

Itu untuk versi 2.7 dari alat. Versi 3.5.1 memiliki parameter tambahan dan di sana parameter ditampilkan jika Anda menggunakan -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
sumber