Modul json adalah modul Starlark dari fungsi terkait JSON.
Anggota
dekode
unknown json.decode(x, default=unbound)
Fungsi dekode memiliki satu parameter posisi yang diperlukan: string JSON.
Fungsi ini menampilkan nilai Starlark yang ditunjukkan oleh string.
"null", "true", dan "false" diuraikan sebagai None, True, dan False.
- Angka diuraikan sebagai int, atau sebagai float jika berisi titik desimal atau eksponen. Meskipun JSON tidak memiliki sintaksis untuk nilai non-terbatas, nilai yang sangat besar dapat didekode sebagai tak terhingga.
- objek JSON diuraikan sebagai dict Starlark baru yang tidak dibekukan. Jika string kunci yang sama muncul lebih dari satu kali dalam objek, nilai terakhir untuk kunci tersebut akan disimpan.
- array JSON diuraikan sebagai daftar Starlark baru yang tidak dibekukan.
Jika
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.
|
enkode
string json.encode(x)
Fungsi enkode menerima satu argumen posisi yang diperlukan, yang akan 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 numeriknya adalah bilangan bulat. Terjadi error jika nilai floating point non-terbatas dienkode.
- Nilai string dienkode sebagai literal string JSON yang menunjukkan nilai. Setiap pengganti yang tidak dipasangkan diganti dengan U+FFFD.
- Dict dienkode sebagai objek JSON, dalam urutan kunci. Terjadi error jika ada kunci yang bukan string.
- Daftar atau tuple dienkode sebagai array JSON.
- Nilai seperti struct dienkode sebagai objek JSON, dalam urutan nama kolom.
Jenis yang ditentukan aplikasi dapat menentukan encoding JSON-nya sendiri.
Mengenkode nilai lain akan menghasilkan error.
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 mengetahui 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')
Fungsi indentasi menampilkan bentuk string berenkode JSON yang valid dengan indentasi.
Setiap elemen array atau kolom objek muncul di baris baru, dimulai dengan string awalan yang diikuti oleh satu atau beberapa salinan string indentasi, sesuai dengan kedalaman nest-nya.
Fungsi ini menerima satu parameter posisi 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 ini dapat gagal atau menampilkan output yang tidak valid.
Parameter
| Parameter |
Deskripsi |
s
|
string;
wajib
|
prefix
|
string;
default adalah ''
|
indent
|
string;
default adalah '\t'
|