json

Sorun bildir Kaynağı görüntüle Nightly · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

Module json, JSON ile ilgili işlevlerin bulunduğu bir Starlark modülüdür.

Üyeler

kod çözmek

unknown json.decode(x, default=unbound)

Kod çözme işlevinin zorunlu bir konumsal parametresi vardır: JSON dizesi. Dizenin belirttiği Starlark değerini döndürür.
  • "null", "true" ve "false", None, True ve False olarak ayrıştırılır.
  • Sayılar int olarak veya ondalık işareti ya da üs içeriyorsa float olarak ayrıştırılır. JSON'da sonlu olmayan değerler için söz dizimi olmasa da çok büyük değerler sonsuzluk olarak çözülebilir.
  • JSON nesnesi, yeni bir dondurulmamış Starlark sözlüğü olarak ayrıştırılır. Aynı anahtar dizesi nesnede birden fazla kez görünüyorsa anahtarın son değeri korunur.
  • JSON dizisi, yeni dondurulmamış bir Starlark listesi olarak ayrıştırılır.
x geçerli bir JSON kodlaması değilse ve isteğe bağlı default parametresi belirtilmişse (None olarak belirtilmiş olması dahil) 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 belirtilmemişse bu işlev başarısız olur.

Parametreler

Parametre Açıklama
x string; required
Kod çözülecek JSON dizesi.
default Varsayılan değer unbound
'dir. Belirtilirse x kodunun çözülemediği durumlarda döndürülecek değer.

encode

string json.encode(x)

Kodlama işlevi, gerekli bir konumsal bağımsız değişkeni kabul eder ve bunu duruma göre JSON'a dönüştürür:

  • None, True ve False sırasıyla "null", "true" ve "false" olarak dönüştürülür.
  • Ne kadar büyük olursa olsun bir int, ondalık tam sayı olarak kodlanır. Bazı kod çözücüler çok büyük tam sayıları çözemeyebilir.
  • Kayan nokta, sayısal değeri tam sayı olsa bile ondalık nokta veya üs ya da her ikisi kullanılarak kodlanır. Sınırsız olmayan bir kayan nokta değerinin kodlanması hataya neden olur.
  • Bir dize değeri, değeri belirten bir JSON dize değişmez değeri olarak kodlanır. Eşlenmemiş her yedek karakter U+FFFD ile değiştirilir.
  • Sözlük, sözlük sırasına göre anahtarlarla JSON nesnesi olarak kodlanır. Herhangi bir anahtar dize değilse hata oluşur.
  • Liste veya demet, JSON dizisi olarak kodlanır.
  • Yapı benzeri bir değer, alan adı sırasına göre JSON nesnesi olarak kodlanır.
Uygulama tarafından tanımlanan bir tür kendi JSON kodlamasını tanımlayabilir. Başka bir değerin kodlanması hataya neden olur.

Parametreler

Parametre Açıklama
x zorunlu

encode_indent

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

encode_indent işlevi json.indent(json.encode(x), ...) ile eşdeğerdir. Biçimlendirme parametrelerinin açıklaması için indent adresine bakın.

Parametreler

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

girinti

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

indent işlevi, geçerli bir JSON kodlu dizenin girintili biçimini döndürür. Her dizi öğesi veya nesne alanı, iç içe yerleştirme derinliğine göre, önek dizesiyle başlayıp bir veya daha fazla girinti dizesi kopyasıyla devam ederek yeni bir satırda görünür. İşlev, JSON dizesi olan bir zorunlu konumsal parametre ve her yeni satırın önekini ve girinti birimini belirten iki isteğe bağlı yalnızca anahtar kelime içeren dize parametresi (ö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 string; required
prefix string; varsayılan değer ''
indent string; varsayılan değer '\t'