ไม่สามารถหาเอกสารใน json.tool [ปิด]


12

ฉันสามารถค้นหาบทความกระจัดกระจายออนไลน์ที่ใช้ json.tool เพื่อผลิตไพ ธ อนสวย แต่ไม่มีเอกสารที่ชัดเจนเกี่ยวกับการใช้งาน ฉันตรวจสอบdocs.python แต่ไม่มีเอกสารอย่างเป็นทางการของ json.tool

ฉันมีเวิร์กโฟลว์สองสามตัว (เขียนโดยคนอื่น) ที่ใช้ json.tool เพื่อตรวจสอบความถูกต้องของ json แต่ฉันได้เห็นโพสต์ที่เตือนว่า json.tool นั้นไม่ได้สร้าง json ที่ถูกต้องเสมอไป ดังนั้นฉันต้องการที่จะเข้าใจเพิ่มเติมเกี่ยวกับวิธีการทำงานของ json.tool

ใครบ้างที่สามารถแนะนำบางแห่งที่มีเอกสารที่ชัดเจนและครอบคลุมบน json.tool

คำตอบ:


21

หากคุณมองผ่านเอกสารอย่างเป็นทางการของห้องสมุดหลาม JSON ที่คุณเห็นว่าอุทธรณ์ของที่ควรจะเป็นjson.tool python -mjson.toolสิ่งนี้บ่งชี้ว่าโปรแกรมในไฟล์tool.pyภายใต้jsonไดเรกทอรีของการติดตั้งหลามของคุณหรือว่ามันอยู่ในไฟล์__init__.pyในtoolไดเรกทอรีภายใต้jsonในการติดตั้งหลามของคุณ

ไฟล์นี้เป็นไฟล์ก่อนหน้าของทั้งสองและmain()ฟังก์ชั่นของมันคือ <20 บรรทัดของรหัสที่สามารถวิเคราะห์ได้ง่าย:

  • หากไม่มีข้อโต้แย้งมันจะทำหน้าที่เป็นไพพ์: JSON ในและ JSON หมด
  • หากมีหนึ่งอาร์กิวเมนต์ที่ใช้เป็นไฟล์อินพุต JSON เอาต์พุตไปยัง stdout
  • มีสองอาร์กิวเมนต์แรกคือไฟล์อินพุต JSON, ไฟล์เอาต์พุต JSON ที่สอง

หากคุณระบุพารามิเตอร์เพิ่มเติมระบบจะแสดงการใช้งานจริง:

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

นั่นคือสำหรับเครื่องมือ 2.7 รุ่น เวอร์ชัน 3.5.1 มีพารามิเตอร์เพิ่มเติมและมีพารามิเตอร์แสดงหากคุณใช้-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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.