không thể tìm thấy tài liệu trên json.tool [đã đóng]


12

Tôi có thể tìm thấy các bài viết rải rác trực tuyến sử dụng json.tool để tạo ra python đẹp, nhưng không có tài liệu rõ ràng về việc sử dụng. Tôi đã kiểm tra docs.python. nhưng không có tài liệu chính thức của json.tool.

Tôi có một vài quy trình công việc (được viết bởi người khác) sử dụng json.tool để xác thực json, nhưng tôi cũng đã thấy các bài đăng cảnh báo json.tool không phải lúc nào cũng tạo ra json hợp lệ. Vì vậy, tôi muốn hiểu thêm về cách json.tool hoạt động.

Bất cứ ai có thể đề nghị một nơi nào đó với tài liệu rõ ràng, toàn diện về json.tool?

Câu trả lời:


21

Nếu bạn xem qua các tài liệu chính thức của thư viện JSON python, bạn sẽ thấy rằng việc gọi là json.toolnên python -mjson.tool. Điều này chỉ ra rằng chương trình trong tệp tool.pytrong jsonthư mục cài đặt python của bạn hoặc nó nằm trong tệp __init__.pytrong toolthư mục jsontrong cài đặt python của bạn.

Các tập tin thực sự là trước đây của hai và main()chức năng của nó là <20 dòng mã có thể dễ dàng phân tích:

  • nếu không có đối số thì nó hoạt động như một đường ống: JSON in và JSON out
  • nếu có một đối số được lấy làm tệp đầu vào JSON, hãy xuất ra thiết bị xuất chuẩn
  • có hai đối số đầu tiên là tệp đầu vào JSON, tệp thứ hai là tệp đầu ra JSON

Nếu bạn cung cấp nhiều tham số hơn, nó sẽ thực sự hiển thị cách sử dụng:

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

Đó là cho phiên bản 2.7 của công cụ. Phiên bản 3.5.1 có thêm một tham số và ở đó các tham số được hiển thị nếu bạn sử dụng -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
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.