JSON

Laporkan masalah Lihat sumber

Modul json adalah modul Starlark untuk fungsi terkait JSON.

Pelanggan

dekode

unknown json.decode(x)

Fungsi dekode menerima satu parameter posisi, string JSON. Metode ini menampilkan nilai Starlark yang ditunjukkan oleh string.
  • 'null', 'true', dan 'false' diuraikan sebagai Tidak Ada, Benar, dan Salah.
  • Angka akan diurai sebagai int, atau sebagai float jika angka tersebut berisi titik desimal atau eksponen. Meskipun JSON tidak memiliki sintaksis untuk nilai yang tidak terbatas, nilai yang sangat besar dapat didekode sebagai nilai tak terbatas.
  • objek JSON diuraikan sebagai dikte Starlark baru yang tidak dibekukan. Jika string kunci yang sama terjadi lebih dari sekali di objek, nilai terakhir untuk kunci tersebut akan disimpan.
  • 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

enkode

string json.encode(x)

Fungsi encoding menerima satu argumen posisi yang diperlukan, yang dikonversi ke JSON berdasarkan kasus:

  • Tidak ada, Benar, dan Salah dikonversi menjadi 'null', 'true', dan 'false'.
  • Int, berapa pun besarnya, 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. Merupakan error untuk mengenkode nilai floating point yang tidak terbatas.
  • Nilai string dienkode sebagai literal string JSON yang menunjukkan nilai. Setiap pengganti yang tidak dipasangkan diganti dengan U+FFFD.
  • Dikte dienkode sebagai objek JSON, dalam urutan kunci. Error akan terjadi jika kunci apa pun 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

enkode_enkode

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

Fungsi encoding_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 string berenkode JSON yang valid. Setiap elemen array atau kolom objek muncul di baris baru, dimulai dengan string awalan, diikuti satu atau beberapa salinan string indentasi, sesuai dengan kedalaman tingkatannya. 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 dapat gagal atau menampilkan output yang tidak valid.

Parameter

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