json

Sorun bildir Kaynağı görüntüleyin Nightly · 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

json modülü, 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şlevinde gerekli bir konum 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, ondalık işareti veya üs içeriyorsa int olarak ya da float olarak ayrıştırılır. JSON'da sonlu olmayan değerler için söz dizimi olmamasına rağmen çok büyük değerler sonsuz olarak kodlanabilir.
  • bir JSON nesnesi, dondurulmamış yeni bir Starlark sözlüğü olarak ayrıştırılır. Aynı anahtar dizesi nesnede birden çok kez geçerse anahtarın son değeri korunur.
  • JSON dizisi, dondurulmamış yeni 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şse 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; zorunlu
Kodu çözülecek JSON dizesi.
default varsayılan unbound şeklindedir
Belirtilirse x kodu çözülemediğinde döndürülecek değer.

encode

string json.encode(x)

encode işlevi, zorunlu bir konumsal bağımsız değişken kabul eder ve bu bağımsız değişkeni büyük/küçük harf duyarlı olarak JSON'a dönüştürür:

  • Yok, Doğru ve Yanlış sırasıyla "null", "true" ve "false" olarak dönüştürülür.
  • Ne kadar büyük olursa olsun int, ondalık tam sayı olarak kodlanır. Bazı kod çözücüler çok büyük tam sayıların kodunu çözemeyebilir.
  • Sayısal değeri tam sayı olsa bile kayan nokta, ondalık nokta veya üs veya her ikisi kullanılarak kodlanır. Sonsuz olmayan bir kayan nokta değerini kodlamak hatalıdır.
  • 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ükler, anahtar sırasına göre JSON nesnesi olarak kodlanır. Anahtarlardan biri dize değilse hata oluşur.
  • Liste veya tuple, 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. Başka bir değer kodlandığında hata oluşur.

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 aynıdır. Biçimlendirme parametrelerinin açıklaması için indent adresine bakın.

Parametreler

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

girinti

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

Girinti 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şlayan ve girinti dizenin bir veya daha fazla kopyasının ardından gelen yeni bir satırda görünür. İşlev, her yeni satırın ön ekini ve girinti birimini belirten bir zorunlu konum parametresini, JSON dizesini ve isteğe bağlı yalnızca anahtar kelimeden oluşan iki dize 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 dize; zorunlu
prefix dize; varsayılan değer ''
indent dize; varsayılan değer '\t'