JSON modul adalah modul Starlark dari fungsi terkait JSON.
Anggota
dekode
unknown json.decode(x, default=unbound)
"null"
,"true"
, dan"false"
diuraikan sebagaiNone
,True
, danFalse
.- Angka diuraikan sebagai int, atau sebagai float jika berisi titik desimal atau eksponen. Meskipun JSON tidak memiliki sintaks untuk nilai tak terbatas, nilai yang sangat besar dapat didekode sebagai tak terhingga.
- objek JSON diuraikan sebagai perintah Starlark baru yang tidak dibekukan. Jika string kunci yang sama muncul lebih dari sekali dalam objek, nilai terakhir untuk kunci yang 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 enkode menerima satu argumen posisi yang diperlukan, yang dikonversi menjadi JSON berdasarkan kasus:
- {i>None<i}, True, dan False masing-masing dikonversi menjadi 'null', 'true', dan 'false'.
- Int, tidak peduli seberapa besar, dienkode sebagai bilangan bulat desimal. Beberapa decoder mungkin tidak dapat mendekode bilangan bulat yang sangat besar.
- Float dienkode menggunakan titik desimal atau eksponen atau keduanya, bahkan jika nilai numeriknya adalah bilangan bulat. Ini adalah error untuk mengenkode nilai floating point yang tidak terbatas.
- Nilai string dienkode sebagai literal string JSON yang menunjukkan nilai. Setiap surrogate yang tidak dipasangkan 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')
json.indent(json.encode(x), ...)
. Lihat indent
untuk deskripsi parameter pemformatan.
Parameter
Parameter | Deskripsi |
---|---|
x
|
wajib |
prefix
|
string;
default adalah '' |
indent
|
string;
default adalah '\t' |
indentasi
string json.indent(s, *, prefix='', indent='\t')
Parameter
Parameter | Deskripsi |
---|---|
s
|
string;
wajib |
prefix
|
string;
default adalah '' |
indent
|
string;
default adalah '\t' |