Mô-đun json là mô-đun Starlark của các hàm liên quan đến JSON.
Hội viên
giải mã
unknown json.decode(x, default=unbound)
"null"
,"true"
và"false"
được phân tích cú pháp dưới dạngNone
,True
vàFalse
.- Số được phân tích cú pháp dưới dạng int hoặc float nếu 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, nhưng các giá trị rất lớn có thể được giải mã là vô cực.
- một đối tượng JSON được phân tích cú pháp dưới dạng một tập hợp Starlark mới chưa bị đóng băng. Nếu cùng một chuỗi khoá xuất hiện nhiều lần trong đối tượng, thì giá trị gần đây nhất cho 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 chưa bị đóng băng.
x
không phải là mã hoá JSON hợp lệ và tham số default
không bắt buộc được chỉ định (bao gồm cả tham số được chỉ định là None
), thì hàm này sẽ trả về giá trị default
.
Nếu x
không phải là bộ mã hoá JSON hợp lệ và tham số default
không bắt buộc không được chỉ định, thì hàm này sẽ không thành công.
Tham số
Thông số | Mô tả |
---|---|
x
|
bắt buộc Chuỗi JSON để giải mã. |
default
|
mặc định là unbound Nếu được chỉ định, giá trị sẽ trả về khi không thể giải mã x .
|
mã hoá
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ẽ được chuyển đổi thành JSON theo các trường hợp:
- Không, Đúng và Sai lần lượt được chuyển đổi thành "null", "true" và "false".
- Kiểu int, bất kể lớn đến mức nào, đều đượ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 số nguyên rất lớn.
- Kiểu float được mã hoá bằng dấu phẩy thập phân hoặc số mũ hoặc cả hai, ngay cả khi giá trị số của kiểu này là số nguyên. Lỗi mã hoá giá trị dấu phẩy động vô hạn.
- Giá trị chuỗi được mã hoá dưới dạng một chuỗi ký tự JSON biểu thị giá trị đó. Mỗi ký tự đại diện không ghép nối sẽ được thay thế bằng U+FFFD.
- Một dict được mã hoá dưới dạng đối tượng JSON, theo thứ tự khoá. Đây là lỗi nếu bất kỳ khoá nào không phải là chuỗi.
- 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.
Tham số
Thông số | Mô tả |
---|---|
x
|
bắt buộc |
encode_indent
string json.encode_indent(x, *, prefix='', indent='\t')
json.indent(json.encode(x), ...)
. Xem indent
để biết nội dung mô tả về các tham số định dạng.
Tham số
Thông số | 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')
Tham số
Thông số | Mô tả |
---|---|
s
|
bắt buộc |
prefix
|
mặc định là '' |
indent
|
mặc định là '\t' |