JSON modul adalah modul Starlark dari fungsi terkait JSON.
Anggota
dekode
unknown json.decode(x, default=unbound)Fungsi decode memiliki satu parameter posisi yang diperlukan: string JSON. Fungsi ini menampilkan nilai Starlark yang ditunjukkan oleh string.
"null"
,"true"
, dan"false"
diuraikan sebagaiNone
,True
, danFalse
.- Bilangan diuraikan sebagai int, atau sebagai float jika berisi titik desimal atau eksponen. Meskipun JSON tidak memiliki sintaksis untuk nilai yang tidak terbatas, nilai yang sangat besar dapat didekode sebagai tak terbatas.
- objek JSON diuraikan sebagai dict Starlark baru yang tidak dibekukan. Jika string kunci yang sama muncul lebih dari sekali dalam objek, nilai terakhir untuk kunci akan disimpan.
- array JSON diuraikan sebagai daftar Starlark baru yang tidak dibekukan.
x
bukan encoding JSON yang valid dan parameter default
opsional ditentukan (termasuk ditentukan sebagai None
), fungsi ini akan menampilkan nilai default
.
Jika x
bukan encoding JSON yang valid dan parameter default
opsional tidak ditentukan, fungsi ini akan gagal.
Parameter
Parameter | Deskripsi |
---|---|
x
|
string;
wajib String JSON yang akan didekode. |
default
|
default adalah unbound Jika ditentukan, nilai yang akan ditampilkan saat x tidak dapat didekode.
|
mengenkode
string json.encode(x)
Fungsi encode menerima satu argumen posisi yang diperlukan, yang dikonversi ke JSON berdasarkan kasus:
- None, True, dan False masing-masing dikonversi menjadi 'null', 'true', dan 'false'.
- Int, berapa pun ukurannya, dienkode sebagai bilangan bulat desimal. Beberapa dekoder mungkin tidak dapat mendekode bilangan bulat yang sangat besar.
- Float dienkode menggunakan titik desimal atau eksponen atau keduanya, meskipun nilai numerik-nya adalah bilangan bulat. Mengenkode nilai floating point yang tidak terbatas akan menyebabkan error.
- Nilai string dienkode sebagai literal string JSON yang menunjukkan nilai. Setiap pengganti yang tidak berpasangan akan diganti dengan U+FFFD.
- Dikte dienkode sebagai objek JSON, sesuai urutan kunci. Akan muncul error jika kunci apa pun bukan berupa string.
- Daftar atau tuple dienkode sebagai array JSON.
- Nilai seperti struct dienkode sebagai objek JSON, dalam urutan nama kolom.
Parameter
Parameter | Deskripsi |
---|---|
x
|
wajib |
encode_indent
string json.encode_indent(x, *, prefix='', indent='\t')Fungsi encode_indent setara dengan
json.indent(json.encode(x), ...)
. Lihat indent
untuk deskripsi parameter pemformatan.
Parameter
Parameter | Deskripsi |
---|---|
x
|
wajib diisi |
prefix
|
string;
defaultnya adalah '' |
indent
|
string;
defaultnya adalah '\t' |
indentasi
string json.indent(s, *, prefix='', indent='\t')Fungsi indent menampilkan bentuk indent dari string yang dienkode JSON yang valid. Setiap elemen array atau kolom objek muncul di baris baru, dimulai dengan string awalan, diikuti dengan satu atau beberapa salinan string indentasi, sesuai dengan kedalaman bertingkat. Fungsi ini menerima satu parameter posisional yang diperlukan, string JSON, dan dua parameter string khusus kata kunci opsional, awalan dan indentasi, yang menentukan awalan setiap baris baru, dan unit indentasi. Jika input tidak valid, fungsi dapat gagal atau menampilkan output yang tidak valid.
Parameter
Parameter | Deskripsi |
---|---|
s
|
string;
wajib |
prefix
|
string;
defaultnya adalah '' |
indent
|
string;
defaultnya adalah '\t' |