Để xem tài liệu về bản phát hành ổn định, vui lòng sử dụng trình đơn thả xuống "Tài liệu được tạo phiên bản". Chế độ xem mặc định phản ánh phiên bản mới nhất ở HEAD.
Báo cáo sự cốopen_in_new
Xem nguồnopen_in_new
json của mô-đun là một mô-đun Starlark chứa các hàm liên quan đến JSON.
Hội viên
giải mã
unknown json.decode(x, default=unbound)
Hàm giải mã có một tham số vị trí bắt buộc: một chuỗi JSON.
Phương thức này trả về giá trị Starlark mà chuỗi biểu thị.
"null"
, "true"
và "false"
được phân tích cú pháp thành None
, True
và False
.
- Số được phân tích cú pháp dưới dạng số nguyên hoặc số thực nếu số đó chứa dấu thập phân hoặc số mũ. Mặc dù JSON không có cú pháp cho các giá trị không hữu hạn, các giá trị rất lớn có thể được giải mã dưới dạng vô hạn.
- một đối tượng JSON được phân tích cú pháp dưới dạng một lệnh Starlark mới được đóng băng. Nếu cùng một chuỗi khoá xảy ra nhiều lần trong đối tượng, thì giá trị cuối cùng của khoá sẽ được giữ lại.
- một mảng JSON được phân tích cú pháp dưới dạng danh sách Starlark mới được đóng băng.
Nếu
x
không phải là phương thức mã hoá JSON hợp lệ và tham số
default
không bắt buộc được chỉ định (bao gồm cả việc được chỉ định là
None
), thì hàm này sẽ trả về giá trị
default
.
Nếu
x
không phải là phương thức mã hoá JSON hợp lệ và tham số
default
tuỳ chọn
không được chỉ định, thì hàm này sẽ không hoạt động.
Các tham số
Thông số |
Nội dung mô tả |
x
|
bắt buộc
chuỗi JSON để giải mã.
|
default
|
giá trị mặc định là unbound
Nếu được chỉ định, giá trị sẽ trả về khi không thể giải mã x .
|
encode
string json.encode(x)
Hàm mã hoá chấp nhận một đối số vị trí bắt buộc. Đối số này sẽ chuyển đổi thành JSON theo trường hợp:
- Không có giá trị nào, "Đúng" và "Sai" sẽ lần lượt chuyển đổi thành giá trị "null", "true" và "false".
- Một int, bất kể lớn đến mức nào, cũng được mã hoá dưới dạng số nguyên thập phân. Một số bộ giải mã có thể không giải mã được các số nguyên rất lớn.
- Số thực được mã hoá bằng dấu thập phân hoặc số mũ, hoặc cả hai, ngay cả khi giá trị số của số thực là số nguyên. Việc mã hoá giá trị dấu phẩy động không hữu hạn là có lỗi.
- Giá trị chuỗi được mã hoá dưới dạng giá trị cố định dạng chuỗi JSON biểu thị giá trị đó. Mỗi giá trị thay thế không ghép nối sẽ được thay thế bằng U+FFFD.
- Một lệnh được mã hoá dưới dạng đối tượng JSON theo thứ tự khoá. Nếu bất kỳ khoá nào không phải là một chuỗi thì sẽ xảy ra lỗi.
- Một danh sách hoặc bộ dữ liệu được mã hoá dưới dạng mảng JSON.
- Giá trị giống cấu trúc được mã hoá dưới dạng đối tượng JSON, theo thứ tự tên trường.
Kiểu ứng dụng do ứng dụng xác định có thể xác định phương thức mã hoá JSON riêng.
Việc mã hoá bất kỳ giá trị nào khác đều dẫn đến lỗi.
Các tham số
Thông số |
Nội dung mô tả |
x
|
bắt buộc
|
encode_indent
string json.encode_indent(x, *, prefix='', indent='\t')
Hàm mã hoá_indent tương đương với
json.indent(json.encode(x), ...)
. Hãy xem
indent
để biết nội dung mô tả về các thông số định dạng.
Các tham số
Thông số |
Nội dung mô tả |
x
|
bắt buộc
|
prefix
|
mặc định là ''
|
indent
|
mặc định là '\t'
|
thụt lề
string json.indent(s, *, prefix='', indent='\t')
Hàm thụt lề trả về dạng thụt lề của một chuỗi được mã hoá JSON hợp lệ.
Mỗi phần tử mảng hoặc trường đối tượng xuất hiện trên một dòng mới, bắt đầu bằng chuỗi tiền tố, theo sau là một hoặc nhiều bản sao của chuỗi thụt lề, theo độ sâu lồng nhau.
Hàm này chấp nhận một tham số vị trí bắt buộc, chuỗi JSON và 2 tham số chuỗi không bắt buộc chỉ dành cho từ khoá, tiền tố và thụt lề, chỉ định một tiền tố của mỗi dòng mới và đơn vị thụt lề.
Nếu giá trị nhập vào không hợp lệ, hàm có thể bị lỗi hoặc trả về dữ liệu đầu ra không hợp lệ.
Các tham số
Thông số |
Nội dung mô tả |
s
|
bắt buộc
|
prefix
|
mặc định là ''
|
indent
|
mặc định là '\t'
|