json

Sorun bildirin Kaynağı göster

Modül json, JSON ile ilgili işlevlerin yer aldığı bir Starlark modülüdür.

Üyeler

decode

unknown json.decode(x, default=unbound)

Kod çözme işlevinde gerekli bir konum parametresi bulunur: JSON dizesi. Dizenin ifade ettiği Starlark değerini döndürür.
  • "null", "true" ve "false"; None, True ve False olarak ayrıştırılır.
  • Sayılar, tamsayı olarak veya ondalık basamak ya da üs içeriyorlarsa ondalık sayı olarak ayrıştırılır. JSON'de sonlu olmayan değerler için söz dizimi olmasa da çok büyük değerlerin kodu sonsuz olarak çözülebilir.
  • bir JSON nesnesi, yeni dondurulmamış Starlark dikit olarak ayrıştırılır. Aynı anahtar dizesi nesnede birden çok kez geçerse anahtara ait son değer korunur.
  • bir JSON dizisi, dondurulmamış yeni Starlark listesi olarak ayrıştırılır.
x geçerli bir JSON kodlaması değilse ve isteğe bağlı default parametresi (None olarak belirtilenler dahil) belirtilmişse bu işlev, default değerini döndürür. x geçerli bir JSON kodlaması değilse ve isteğe bağlı default parametresi belirtilmezse bu işlev başarısız olur.

Parametreler

Parametre Açıklama
x gerekli
JSON dizesidir.
default varsayılan değer: unbound
Belirtilirse x kodu çözülemiyorsa döndürülecek değer.

encode

string json.encode(x)

Kodlama işlevi, gerekli bir konum bağımsız değişkenini kabul eder ve büyük/küçük harfe göre JSON'a dönüştürür:

  • Hiçbiri, Doğru ve Yanlış, sırasıyla "null", "true" ve "false" olarak dönüştürülür.
  • Bir tamsayı, ne kadar büyük olursa olsun ondalık tam sayı olarak kodlanır. Bazı kod çözücüler, çok büyük tam sayıların kodunu çözemeyebilir.
  • Kayan öğe, sayısal değeri tam sayı olsa bile ondalık noktası veya üs ya da her ikisi kullanılarak kodlanır. Sonlu olmayan bir kayan nokta değerinin kodlanması hatadır.
  • Bir dize değeri, değeri belirten JSON dizesi değişmez değeri olarak kodlanır. Eşlemesi kaldırılmış her vekil U+FFFD ile değiştirilir.
  • Dict, anahtar sırasına göre JSON nesnesi olarak kodlanır. Herhangi bir anahtar dize değilse bir hata oluşur.
  • Bir liste veya unsur, JSON dizisi olarak kodlanır.
  • struct benzeri bir değer, alan adı sırasına göre JSON nesnesi olarak kodlanır.
Uygulama tanımlı bir tür, kendi JSON kodlamasını tanımlayabilir. Diğer değerlerin kodlanması hataya neden olur.

Parametreler

Parametre Açıklama
x zorunlu

encode_indent

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

Kodlama_girinti işlevi, json.indent(json.encode(x), ...) işlevine eş değerdir. Biçimlendirme parametrelerinin açıklaması için indent politikasına bakın.

Parametreler

Parametre Açıklama
x zorunlu
prefix varsayılan değer: ''
indent varsayılan değer: '\t'

girinti

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

Girinti işlevi, JSON olarak kodlanmış geçerli bir dizenin girintili biçimini döndürür. Her dizi öğesi veya nesne alanı, önek dizesiyle başlayıp iç içe yerleştirme derinliğine göre girinti dizesinin bir veya daha fazla kopyasıyla devam edecek şekilde yeni bir satırda görünür. İşlev, gerekli bir konum parametresini, JSON dizesini ve her yeni satırın ön ekini ve girinti birimini belirten isteğe bağlı iki anahtar kelime dizesi parametresini (önek ve girinti) kabul eder. Giriş geçerli değilse işlev başarısız olabilir veya geçersiz çıkış döndürebilir.

Parametreler

Parametre Açıklama
s zorunlu
prefix varsayılan değer: ''
indent varsayılan değer: '\t'