225
Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.
Tôi vừa nhận ra rằng json.dumps[]
thêm khoảng trống vào đối tượng JSON
e.g.
{'duration': '02:55', 'name': 'flower', 'chg': 0}
Làm thế nào có thể loại bỏ các không gian để làm cho JSON nhỏ gọn hơn và lưu byte được gửi qua HTTP?
Như là:
{'duration':'02:55','name':'flower','chg':0}
DREFTYMAC
30.4K26 Huy hiệu vàng116 Huy hiệu bạc178 Huy hiệu đồng26 gold badges116 silver badges178 bronze badges
Đã hỏi ngày 1 tháng 5 năm 2013 lúc 1:42May 1, 2013 at 1:42
Daniele Bdaniele bDaniele B
18.9K23 Huy hiệu vàng107 Huy hiệu bạc165 Huy hiệu Đồng23 gold badges107 silver badges165 bronze badges
1
json.dumps[separators=[',', ':']]
Đã trả lời ngày 1 tháng 5 năm 2013 lúc 1:45May 1, 2013 at 1:45
4
Trong một số trường hợp, bạn có thể muốn loại bỏ các không gian trắng. Sau đó bạn có thể sử dụngtrailing whitespaces only. You can then use
json.dumps[separators=[',', ': ']]
Có một không gian sau :
nhưng không phải sau ,
.
Điều này rất hữu ích cho việc khác nhau các tệp JSON của bạn [trong điều khiển phiên bản như
{'duration':'02:55','name':'flower','chg':0}
0], trong đó một số biên tập viên sẽ loại bỏ khoảng trắng kéo dài nhưng Python Json.dump sẽ thêm nó trở 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 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 đang thêm nó ở đây.
Đã trả lời ngày 26 tháng 1 năm 2016 lúc 12:14Jan 26, 2016 at 12:14
0
Mã hóa nhỏ gọn:
import json
list_1 = [1, 2, 3, {'4': 5, '6': 7}]
json.dumps[list_1, separators=[',', ':']]
print[list_1]
[1,2,3,{"4":5,"6":7}]
Đã trả lời ngày 6 tháng 11 năm 2020 lúc 8:08Nov 6, 2020 at 8:08
EkremusekremusEkremus
1391 Huy hiệu bạc4 Huy hiệu đồng1 silver badge4 bronze badges
Mã này được sử dụng để loại bỏ các không gian trắng trong tệp JSON theo chương trình. Trong tệp này, dữ liệu từ tệp JSON được tải và được chuyển đến chức năng Recursibe sẽ loại bỏ các không gian trắng khỏi chuỗi. Để hiểu cách xóa các không gian trắng khỏi tệp JSON, chúng ta cần hiểu cấu trúc của tệp JSON có chứa danh sách, từ điển cũng như chuỗi. Vui lòng xem hình ảnh dưới đây để hiểu cấu trúc của tệp JSON được sử dụng trong mã nàybelow image to understand the structure of the JSON file used in this code
Remove-White-Spaces-Json-File-Python
Mục đích của mã này là gì
Hiểu cấu trúc của tệp JSON
Những gì đạt được trong mã
Trước hết mã được chia thành ba phần. 1.] Loại bỏ các không gian trắng khỏi chuỗi 2.] Tìm danh sách và xóa các không gian trắng khỏi danh sách. 3.] Tìm từ điển đã đóng gói danh sách và chuỗi bên trong nó dưới dạng khóa và giá trị và loại bỏ các không gian trắng khỏi nó.
1.] Removing white spaces from the string
2.] Find the list and removing
the white spaces from the list.
3.] Find the dictionary which has packed the list and string inside it in form of key and value and removes white spaces from it.
Cách chạy mã này
Mã này được thực hiện trong môi trường Python và có phần mở rộng .Py. Tệp này có thể được thực thi bởi tập lệnh sau.
python3 dictionary_file.py
Những gì đạt được sau khi thực hiện mã
Sau khi chạy tệp, bạn sẽ nhận được đầu ra tệp.json là tệp được lọc ở định dạng JSON.
Permalink
Không thể lấy lại những người đóng góp tại thời điểm này
Tệp này chứa văn bản unicode hai chiều có thể được giải thích hoặc biên dịch khác với những gì xuất hiện dưới đây. Để xem xét, hãy mở tệp trong một trình soạn thảo cho thấy các ký tự Unicode ẩn. Tìm hiểu thêm về các ký tự unicode hai chiều
Nhập khẩu json | |
withopen ['intent.json', 'r'] asObject_1: open['intents.json', 'r'] as object_1: | |
data = json.load [object_1] = json.load[object_1] | |
In ["Dữ liệu trong tệp JSON được tải:"]["Data in the json file is loaded:"] | |
in [dữ liệu][data] | |
#Đây là ví dụ về hàm đệ quy | |
defstrip_recursive [x]: strip_recursive[x]: | |
ifisInstance [x, str]: isinstance[x, str]: | |
# Chức năng của chức năng dải | |
# Chức năng dải được sử dụng để loại bỏ cả hai không gian trắng dẫn đầu và đường mòn khỏi chuỗi | |
# Nếu không có tham số nào được thông qua thì chỉ bị loại bỏ và không gian trắng dẫn đầu | |
returnx.strip [] x.strip[] | |
ElifisInstance [X, Danh sách]: isinstance[x, list]: | |
trả về [dải_recursive [v] forvinx] [strip_recursive[v] for v in x] | |
Elifisinstance [X, Dict]: isinstance[x, dict]: | |
returnDict [[Strip_Recursive [A], Strip_Recursive [b]] cho [a, b] inx.items []] dict [[strip_recursive[a], strip_recursive[b]]for [a, b] in x.items[]] | |
returnx x | |
Chức năng #Calling | |
output = strip_recursive [dữ liệu] = strip_recursive[data] | |
#Điều này là đầu ra được lọc | |
in ["\ n"]["\n"] | |
In ["Đầu ra được lọc sau khi hoạt động đệ quy trên dữ liệu:"]["Filtered output after recursive operation on Data:"] | |
in [đầu ra][output] | |
#Lưu tệp mới | |
withopen ['output.json', 'w'] ASFP: open['output.json', 'w'] as fp: | |
json.dump [đầu ra, fp, thụt lề = 4, sort_keys = true].dump[output, fp, indent=4, sort_keys=True] |