Câu trả lời:
json.dumps(separators=(',', ':'))
indent=0tạo dòng mới, trong khi indent=None(mặc định) không có trong 2.7. Tất cả được nêu rõ tại địa chỉ: docs.python.org/3/library/json.html#json.dump
ujsonmặc định cho các bãi chứa không có khoảng trắng nhưng thật đáng buồn là nó không hỗ trợ separatorstừ khóa nên không thể thêm lại khoảng trống nếu muốn. Nó nhanh hơn rất nhiều mặc dù so với tích hợp json!
request.bodyvới request.datamọi người có thể thấy điều này hữu íchbytes(json.dumps(request.data, separators=(',', ':')), 'utf-8') == request.body
Trong một số trường hợp, bạn có thể muốn thoát khỏi các khoảng trắng chỉ. Sau đó bạn có thể sử dụng
json.dumps(separators=(',', ': '))
Có một không gian sau :nhưng không phải sau ,.
Điều này hữu ích để phân biệt các tệp JSON của bạn (trong kiểm soát phiên bản, chẳng hạn như git diff), trong đó một số trình soạn thảo sẽ thoát khỏi khoảng trắng ở cuối nhưng python json.dump sẽ thêm lại.
Lưu ý: Điều này không trả lời chính xác câu hỏi trên đầu, nhưng tôi đến đây để tìm câu trả lời này một cách cụ thể. Tôi không nghĩ rằng nó xứng đáng với QA của riêng mình, vì vậy tôi sẽ thêm nó vào đây.
Changed in version 3.4: Use (',', ': ') as default if indent is not None.docs.python.org/3/library/json.html#json.dump