JSON

JSON modul adalah modul Starlark dari fungsi terkait JSON.

Anggota

dekode

unknown json.decode(x)

Fungsi dekode menerima satu parameter posisi, yaitu string JSON. Metode ini mengembalikan nilai Starlark yang ditunjukkan oleh {i>string<i}.
  • 'null', 'true', dan 'false' diuraikan sebagai Tidak Ada, Benar, dan Salah.
  • 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. Kunci harus berupa string yang unik.
  • array JSON diuraikan sebagai daftar Starlark baru yang tidak dibekukan.
Dekode akan gagal jika x bukan encoding JSON yang valid.

Parameter

Parameter Deskripsi
x wajib

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.
Jenis yang ditentukan aplikasi dapat menentukan encoding JSON-nya sendiri. Mengenkode nilai lainnya 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 deskripsi parameter pemformatan.

Parameter

Parameter Deskripsi
x wajib
prefix default = ''
indent default = '\t'

indentasi

string json.indent(s, *, prefix='', indent='\t')

Fungsi indentasi menampilkan bentuk indentasi dari string berenkode JSON yang valid. Setiap elemen array atau kolom objek akan muncul pada baris baru, dimulai dengan string awalan yang diikuti oleh satu atau beberapa salinan string indentasi, sesuai dengan kedalaman tingkatannya. Fungsi ini menerima satu parameter posisi yang diperlukan, yaitu 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 tersebut dapat gagal atau menampilkan output yang tidak valid.

Parameter

Parameter Deskripsi
s wajib
prefix default = ''
indent default = '\t'